Lua确定何时超出范围

时间:2015-06-05 16:58:29

标签: loops while-loop lua

我有一个名为preprocess的函数。看起来像这样

  function image_utils.preprocess(meanfile, oneD_image_table)
      local img_mean = torch.load(meanfile).img_mean:transpose(3,1)
      return function()
           for t_class, img_path in pairs(oneD_image_table) do
              local im3 = image.load(img_path)
              local im4 = image.scale(im3,227,227,'bilinear')*25
              return im4 - image.scale(img_mean, 227, 227, 'bilinear')  

      end
end

以下是我的称呼方式:

 im_f = image_util.preprocess(meanfile, path_list)
 repeat
    im=im_f()
    batch[count]:copy(im)
    count = count + 1

 until count == batchSize 

这很有效。但是,我希望在im_f没有剩下的迭代时使用它来确定何时应该停止循环。换句话说,就像这样:

  repeat 
    im = im_f()
    count = count+1
    batch[count] = im
  until im == nil (or im is some sentinel value that tells me to stop)

但是,由于超出范围错误,我无法完成这项工作。

简而言之,我想循环直到im_f告诉我停止;而不是使用预定的数字来告诉我何时停止。

0 个答案:

没有答案