【问题标题】:Can 2D convolutional neural network be converted into 1D convolutional neural network?2D卷积神经网络可以转化为1D卷积神经网络吗?
【发布时间】:2020-11-01 01:55:56
【问题描述】:

我设计了一个使用 2d 卷积层和最大池化层的神经网络,输入形状为输入,一个热编码序列作为 2d 数组。然后在输入模型之前对其进行整形。

data = np.zeros( (100, 21 * 1000), dtype=np.float32 )
#reshape
x_data = tf.reshape( data, [-1, 1, 1000, 21] )

但是,我通过更改模型和输入数组来使用使用 1D 卷积层的相同数据集,而无需重新整形,因为它是 1D data = np.zeros( (100, 1000,21), dtype=np.float32 )

最后,一维卷积模型以 96% 的行为表现良好。 2d CNN 给出了 93%。有人可以向我解释一下实际发生了什么以提高准确性吗?

【问题讨论】:

    标签: python arrays tensorflow keras neural-network


    【解决方案1】:

    有人可以向我解释一下实际发生了什么以提高准确性吗?

    这很难说,取决于您的特定数据集、网络、超参数等。 通常,在 conv2D-Layer 中,过滤器会水平垂直移动。在 conv1D 层中,过滤器在卷积过程中垂直移动。

    那么哪一个是最好的?这取决于你的问题。对于时间序列,conv1D 可能更好,而对于图像,conv2D 可能是更好的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 2020-10-07
      相关资源
      最近更新 更多