代码中batch_size如何控制输出结果数量?新手疑问解析
问题解答:为何输出数据组数与batch_size一致而非预期的100组
核心问题是你循环代码里的
break语句:for X, y in read_data(batch_size, features, labels): print("X:", X, "\ny", y) break # 这条语句直接终止了循环break会让循环只执行一次就退出,所以你只看到了第一组(10个样本)的数据,而非预期的100组。你的
read_data函数逻辑没问题:- 它是生成器函数,通过
yield每次返回一组大小为batch_size的样本 range(0, nums_example, batch_size)会生成0、10、20…990这些起始索引,一共100次迭代,对应100组数据
- 它是生成器函数,通过
解决办法:
删掉循环里的break,就能遍历完所有100组数据:batch_size = 10 for X, y in read_data(batch_size, features, labels): print("X:", X, "\ny", y)
内容的提问来源于stack exchange,提问作者Parachutes
相关产品推荐
相关产品推荐

