12

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

假设我有一个自动编码器

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

我将输入作为具有 41 个特征的 csv 文件,据我所知,当我的批量大小为 1 时,它将从 csv 文件中获取每个特征并将其提供给第一层的 41 个神经元。

但是当我将批次大小增加到 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 数相同

4

1 回答 1

11

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

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

如果您不指定每批次的标准化,则每批次都没有标准化;)

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

于 2017-03-24T12:25:27.760 回答