在matlab中,我正在实现本文所述的卷积神经网络 https://www.researchgate.net/publication/322514744_On_the_improvement_of_classifying_EEG_recordings_using_neural_networks
第一层使用完全连接的层将25x375矩阵投影到30x375。 他们通过在每列上应用大小为30的完全连接层来实现此目的。 我正在尝试在Matlab中实现网络,问题是matlab不支持这种完全连接的图层投影。但是我读到,对于每个完全连接的层,存在具有等效前向函数的卷积层。
这个卷积层怎么样?
答案 0 :(得分:3)
您可以使用2D convolution
来实现它。
kernel
的大小必须为(25, 1)
,因此这将使其成为完全连接的图层。(25, 1)
。30
代码:
X = tf.random_normal([25, 375])
conv = tf.transpose(tf.squeeze(tf.layers.conv2d(X[tf.newaxis, ..., tf.newaxis],
filters=30,kernel_size=(25,1), strides=(25,1),padding='SAME')), [1,0])
print(conv.get_shape().as_list())
输出:
[30, 375]