Керас мульти выходной Softmax модель ввода формы - PullRequest
0 голосов
/ 13 марта 2019

У меня есть следующая модель:

from keras.layers import Activation, Input, Dense
from keras.models import Model
from keras.layers.merge import Concatenate, concatenate

input_ = Input(batch_shape=(512, 36))

x = input_
x1 = Dense(4)(x)
x2 = Dense(4)(x)
x3 = Dense(4)(x)
x4 = Dense(4)(x)

model = Model(inputs=input_, outputs=[x1, x2, x3, x4])
model.compile(loss='categorical_crossentropy', optimizer='adam',  metrics=['accuracy'])
history = model.fit(X, test, epochs=20, batch_size=512, verbose=2, shuffle=False, validation_data=[X, test])

Мой Y имеет следующий формат:

 col1 col2 ... col 4
  1    0         2
  0    0         2
  2    1         1

и изменен с помощью:

y = to_categorical(Y).reshape(4, -1, 3)

Однако,при запуске команды fit я получаю следующую ошибку:

ValueError: Error when checking model target: the list of Numpy arrays that 
you are passing to your model is not the size the model expected. Expected 
to see 4 array(s), but instead got the following list of 1 arrays: 
[array([[[1., 0., 0.],
    [1., 0., 0.],
    [1., 0., 0.],

1 Ответ

1 голос
/ 13 марта 2019

Предполагая, что Y это пустая матрица? Попробуйте это:

y = [to_categorical(Y[:, col_numb]).reshape(-1, 3) for col_numb in range(Y.shape[1])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...