TensorFlow 神经网络训练中的数据处理与模型构建
1. 数据洗牌、分批和重复操作
在使用随机梯度下降优化方法训练神经网络模型时,将训练数据以随机洗牌的批次形式输入是很重要的。以下将介绍如何对数据集进行洗牌、分批和重复操作,我们将继续使用之前的 ds_joint 数据集。
1.1 洗牌操作
洗牌操作可以通过调用数据集对象的 .shuffle() 方法来实现。该方法需要一个 buffer_size 参数,它决定了在洗牌前将数据集中多少个元素分组在一起。示例代码如下:
import tensorflow as tf
# 设置随机种子
tf.random.set_seed(1)
# 对数据集进行洗牌
ds = ds_joint.shuffle(buffer_size=len(t_x))
# 遍历洗牌后的数据集
for example in ds:
print(' x:', example[0].numpy(),
' y:', example[1].numpy())
如果选择较小的 buffer_size ,可能无法完全随机化数据集。对于小数据集,较小的 buffer_size 可能会对神经网络的预测性能产生负面影响,但在处理大型数据集时,这种影响通常不明显。为确保每个周期内数据集完全随机化,可以将 buffer_size 设置为训练示例的数量。 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



