张量流中的Batch_size?理解这个概念

时间:2017-03-24 12:01:14

标签: python-3.x tensorflow tflearn

我的问题很简单,直截了当。批量大小在训练和预测神经网络时指定了什么。如何对其进行可视化,以便清楚地了解数据如何被馈送到网络。

假设我有一个自动编码器

encoder = tflearn.input_data(shape=[None, 41])
encoder = tflearn.fully_connected(encoder, 41,activation='relu')

我正在输入带有41个功能的csv文件,所以据我所知,它将从csv文件中获取每个功能,并在批量大小为1时将其提供给第一层的41个神经元。 / p>

但是当我将批量大小增加到100时,100个批次的41个特征将如何被馈送到该网络?

model.fit(test_set, test_labels_set, n_epoch=1, validation_set=(valid_set, valid_labels_set),
          run_id="auto_encoder", batch_size=100,show_metric=True, snapshot_epoch=False)

批次或对它们进行某些操作会有规范化吗?

两种情况下的epoc数量相同

1 个答案:

答案 0 :(得分:6)

批量大小是您在网络中提供的样本数量。对于输入编码器,您可以指定输入未指定(无)的样本量,每个样本包含41个值。

使用None的优点是,您现在可以同时使用100个值的批次进行训练(这对您的渐变有用),并使用一批只有一个值(一个您想要预测的样本)进行测试。

如果没有为每批指定标准化,则每批没有标准化;)

希望我解释得足够好!如果您有更多问题,请随时向他们询问!