了解 tensorflow conv1d 可训练变量形状

understanding tensorflow conv1d trainable variable shape

我将 Keras 与 TensorFlow 2 一起使用,我有一个训练有素的模型,其权重对应于模型的每一层,但一些 conv1d 层的形状让我感到困惑。 我将卷积层设置为具有 64 个长度为 16 的滤波器,但我的权重向量的形状在最后类似于 (16,64,64)。 谁可以给我解释一下这个?我假设 16 是每个过滤器的长度,最后的 64 是我的 num_filters,另一个是什么,我的意思是它是 3 维的吗?它应该是 (16,64) 之类的。 此外,在 z 轴上指定每个过滤器的长度不是很奇怪吗? (当然假设计算机科学版本表示维度(z,x,y 而不是 x,y,z)) 我得到的是这样的:

 name:conv1d/kernel:0 shape:(16,64,64) dtype:<dtype:'float32'> numpy=... 

先谢谢大家了。

回答我自己的问题,前 64 个对应于我们面临的数据的深度。例如,如果您想为具有 10 个特征的数据设置 5 个 32 元素长度的过滤器(换句话说,conv 层的输入深度为 10),您的变量形状将是:(32,10,5)