Итак, как следует из комментария, будет лучше, если вы будете использовать Conv1D
, поскольку ввод, необходимый для Conv1D
, имеет ранг 3
. Кроме того, для Conv2d
вам потребуется ввод с рангом 4
.
Чтобы фактически изменить форму ввода, вы можете сделать следующее:
example = np.zeros((32,10,50))
reshape = np.expand_dims(example , axis=1)
Результат будет:
(32, 1, 10, 50)
Вы также можете использовать API изменения формы из Keras, как показано ниже.
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
нет.