并行化神经网络训练的全面指南
1. 数据洗牌、分批和重复操作
在使用随机梯度下降优化算法训练神经网络(NN)模型时,以随机洗牌的批次形式输入训练数据至关重要。下面我们将详细介绍如何对数据集进行洗牌、分批和重复操作。
1.1 数据洗牌
使用 shuffle() 方法对 ds_joint 数据集进行洗牌:
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 可能会影响NN的预测性能,但在处理大数据集时通常影响不大。为确保每个周期都能完全随机化,可以将 buffer_size 设置为训练样本的数量。
1.2 数据分批
使用 batch() 方法将 ds_joint 数据集分成批次: <
超级会员免费看
订阅专栏 解锁全文
280

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



