【问题标题】:How to understand the first argument of the Keras Conv2D layer?如何理解 Keras Conv2D 层的第一个参数?
【发布时间】:2020-09-08 18:39:09
【问题描述】:

我正在遵循TensorFlow 2 quickstart for experts 指南并试图理解创建Conv2D 实例的第一个论点。

filters: Integer, the dimensionality of the output space
    (i.e. the number of output filters in the convolution).

由于指南对batch 大小和filters 使用相同的32,选择32 是否有特定原因,这两个参数是否应该始终相互匹配?

相关代码:

train_ds = tf.data.Dataset.from_tensor_slices(
    (x_train, y_train)).shuffle(10000).batch(32)

... ...

self.conv1 = Conv2D(32, 3, activation='relu')

【问题讨论】:

    标签: python tensorflow keras conv-neural-network


    【解决方案1】:

    What is batch size in neural network?
    What is the number of filter in CNN?

    总结
    批量大小定义将通过网络传播的样本数量。

    过滤器的数量是神经元的数量,因为每个神经元对层的输入执行不同的卷积(更准确地说,神经元的输入权重形成卷积核)。

    因此,这些参数不必相同。

    【讨论】:

      【解决方案2】:

      一般来说,人们倾向于对神经网络中的不同超参数使用 2 的幂。没有明确证明它更有效,但有一些思想流派指出它是最有效的方法。就过滤器的数量而言,过滤器旨在检测特征。如果添加更多过滤器,它应该能够捕获更复杂的特征,无论是视觉的还是物理的。增加每一层中过滤器数量的缺点是增加了与之相关的参数。这会使您的模型占用更多内存,并且由于要更新的​​参数更多,因此训练时间会更长。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-25
        • 1970-01-01
        相关资源
        最近更新 更多