重塑Conv2D的嵌入层输出?

2024-03-29 11:52:52 发布

您现在位置:Python中文网/ 问答频道 /正文

嵌入层的输出形状为

embedding_4 (Embedding)         (None, 10, 50)

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

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

层。使用Keras编写代码


Tags: 代码noneembeddingactivation向量kerasrelu形状
1条回答
网友
1楼 · 发布于 2024-03-29 11:52:52

因此,正如注释所示,如果使用Conv1D将更好,因为Conv1D所需的输入为^{}级。另外,对于Conv2d,您需要具有秩为^{}的输入

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

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

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

输出将是:

(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

输出形状如下所示:

(None, 1, 10, 50)

正如一句话None将是你的batch_size,而1将是你的频道

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

相关问题 更多 >