我有一个名为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告诉我停止;而不是使用预定的数字来告诉我何时停止。