繁体   English   中英

为 Conv2D 重塑嵌入层 output?

[英]Reshaping Embedding layer output for Conv2D?

嵌入层有 output 形状

embedding_4 (Embedding)         (None, 10, 50)

其中 10 是单词的数量,50 是向量的维度。 如何重塑张量以将其输入到

Conv2D(50,(2,50),padding='same',activation='relu')

层。 使用 Keras 编写代码。

因此,正如评论所暗示的那样,如果您使用Conv1D会更好,因为Conv1D所需的输入是等级3 此外,对于Conv2d ,您需要输入等级为4

您可以执行以下操作来实际重塑您的输入。

example = np.zeros((32,10,50))

reshape = np.expand_dims(example , axis=1)

Output 将是:

(32, 1, 10, 50)

您还可以使用 Keras 中的重塑层 API,如下所示。

import tensorflow as tf

model = tf.keras.Sequential()
model.add(tf.keras.layers.Reshape((1, 10, 50), input_shape=(10, 50)))

model.output_shape

Output 形状如下:

(None, 1, 10, 50)

正如注释None将是您的batch_size1是您的频道。

但也像评论建议的那样,你应该问问自己Conv2D会带来什么好处,而Conv1D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM