Keras - model.predict () возвращает список вместо массива - PullRequest
0 голосов
/ 23 апреля 2019

Я использую model.predict () для тестового тензора, который имеет тот же размер ввода, который использовался для обучения, (N_tr * 70,1025,11,3)

Модель обучаетсярегрессия, с тремя выходами в качестве заземления, каждый из которых имеет размер (N_te * 70,1025).

Для информации, при тестировании модели N_te = 180.

Согласно документации,выходные данные model.predict () должны быть пустым тензором, вместо этого я получаю список из трех элементов, каждый из которых имеет форму (N_te * 70,1025).Я боюсь, что выходные данные могли быть каким-то образом перетасованы (что объяснило бы мои неожиданные результаты).

Есть ли у вас какие-либо советы, чтобы получить массив numpy, который совместим с тем, который я использовал в качестве основы-истины?Если нет, знаете ли вы какой-нибудь другой обходной путь?

РЕДАКТИРОВАТЬ: добавлен код нейронной сети

input_img = Input(shape=(1025, 11, 3 ) )
x = ( Flatten())(input_img)

for i in range(0,4):
    x = ( Dense(1024*3))(x)
    x = ( BatchNormalization() )(x)
    x = ( LeakyReLU())(x)
o0 = ( Dense(1025, activation='sigmoid'))(x)
o1 = ( Dense(1025, activation='sigmoid'))(x)
o2 = ( Dense(1025, activation='sigmoid'))(x)

Прогноз модели:

output = model.predict(X_in, batch_size = batch_size, verbose=1)

1 Ответ

0 голосов
/ 23 апреля 2019

Ожидается, что в модели с несколькими выходами предикат возвращает список массивов с нулевыми значениями, причем каждый элемент является соответствующим выводом.Помните, что потери рассчитываются индивидуально между каждым выходом и основной правдой, поэтому этот формат уже является идеей для этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...