了解Conv1D密集层(一维输入)的keras input_shape



各位!

我尝试在keras中实现我自己的第一个dl网络,它将是一个自动编码器(希望去噪和堆叠(。但我很难处理输入层的输入形状格式,它可以是Conv1DDense层(目前是Dense层,因为我希望它能解决问题(-我也尝试过pytorch,但这也没有解决我的问题。

潜在的问题是,我觉得我没有得到输入形状参数及其结构。对于图片,你可以在互联网上找到很好的、合乎逻辑的解释。但当我使用一维数据时,这些技术在这里无法应用——Dense/Conv1DAPI也没有正确回答我的问题。

我有7000个样本,每个样本由500个整数的1-D数组表示。如果我理解正确,这没有额外的特征维度或属性,只有一个通道。因此input_shape=(,500)应该可以正常工作,因为我不必声明批量大小。但它不起作用,我只是收到消息,我的传入数据和形状不匹配。

也许有人能澄清也许我的输入数据形状不正确-numpy输入应该是什么样子?或者我的层配置错误

提前谢谢!我真的试着思考这个问题,并且已经尝试了几个重塑或输入形状定义——不幸的是,没有任何效果。

您刚刚忘记了"通道";维与图像一样,序列也可以具有通道。

例如,您可以运行以下代码:

import tensorflow as tf
layer = tf.keras.layers.Conv1D(input_shape=(500,), kernel_size=3, filters=2)
sample = tf.ones((1, 500, 1), dtype=tf.float32)  # (bs, input_shape, channels)
out = layer(sample)  #  out.shape will be (1, 498, 2)

相关内容

  • 没有找到相关文章

最新更新