Я новичок в tenorflow, у меня есть вводные данные этого формата:
x_train_n.shape = (200,64,2048)
, что означает 200 наборов обучающих данных64 - это H, а 2048 - это W
Когда я хочу передать этот вход в свою сеть, сначала мне нужно изменить его:
x_train_n = x_train_n.reshape(x_train_n.shape[0], 1, rows, cols)
Затем
inputs = Input(shape=x_train_n.shape[1:])
output1 = Conv2D(32, (3, 15), strides=(1, 2), padding='same', data_format='channels_first', input_shape=x_train_n.shape[1:])(inputs)
в противном случае я получаю сообщение об ошибке, что Conv2d должен иметь 4 измерения, но измерение - это 3 ошибки.
Правильно ли это делать? если это так, то почему это имеет смысл?
Почему я не могу сделать следующее без изменения формы?
output1 = Conv2D(32, (3, 15), strides=(1, 2), padding='same', data_format='channels_first', input_shape=x_train_n.shape())(inputs)