Keras Input вызывает ошибку значения, когда размеры совпадают - PullRequest
0 голосов
/ 13 февраля 2020

Я начинаю разрабатывать модель и зацикливаюсь на размерах. Мои X_train и Y_train представляют собой numpy массивы формы (65337, 19)

Input_1= Input(shape=(19,))
x = Dense(100, activation='relu')(Input_1)

out1 = Dense(1,  activation='linear')(x)
out2 = Dense(1,  activation='linear')(x)
...
out19 = Dense(1, activation = 'linear')(x)
model = Model(inputs=Input_1, outputs=[out1,out2,out3,out4,out5,out6,
                                  out7,out8,out9,out10,out11,out12,
                                  out13,out14,out15,out16,out17,out18,out19])
model.compile(optimizer = "rmsprop", loss = 'mse')
model.fit(X_train,y_train,epochs=5)

Когда я запускаю это, я получаю значение ошибки:

ValueError: Ошибка при проверке цели модели : список Numpy массивов, которые вы передаете своей модели, не соответствует ожидаемому размеру. Предполагается увидеть 19 массивов, но вместо этого получил следующий список из 1 массивов:

Глядя на другие вопросы здесь, кажется, что использование .fit(np.array(X_train) , np.array(y_train) помогло некоторым, но я получаю ту же ошибку (что имеет смысл, поскольку говорит, что у меня есть массив).

1 Ответ

1 голос
/ 13 февраля 2020

Вы ожидаете 19 разностных выходов, поэтому вам необходимо передать в сеть 19 кусочков массива меток:

model.fit(X_train,[y_train[:,0], y_train[:,1], y_train[:,2],[...], y_train[:, 18]] , epochs=5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...