Closed TronYY closed 4 years ago
bug描述 在3.2.2存在以下代码,我想知道为什么需要用到循环for i in range(0, num_examples, batch_size) 这里第一次循环结束就会返回结果了
for i in range(0, num_examples, batch_size)
# 本函数已保存在d2lzh包中方便以后使用 def data_iter(batch_size, features, labels): num_examples = len(features) indices = list(range(num_examples)) random.shuffle(indices) # 样本的读取顺序是随机的 for i in range(0, num_examples, batch_size): j = torch.LongTensor(indices[i: min(i + batch_size, num_examples)]) # 最后一次可能不足一个batch yield features.index_select(0, j), labels.index_select(0, j)
建议你去查查yield的用法
yield
bug描述 在3.2.2存在以下代码,我想知道为什么需要用到循环
for i in range(0, num_examples, batch_size)
这里第一次循环结束就会返回结果了