Проблема с Keras при вызове Dense - PullRequest
0 голосов
/ 22 октября 2018

Я пытался запустить этот код ниже, и он продолжает выдавать ошибку.

Это код, который я пытаюсь запустить на ipython.Может кто-нибудь сказать мне, в чем проблема?

import numpy as np
import matplotlib.pyplot as plt
from util import getKaggleMNIST
from keras.models import Model
from keras.layers import Dense, Activation, Input

xtrain, ytrain, xtest, ytest = getKaggleMNIST()

N, D = xtrain.shape
k = len(set(ytrain))

i = Input(shape=(D,))
x = Dense(500, activation='relu')(i)
x = Dense(300, activation='relu')(x)
x = Dense(k, activation='softmax')(k)

model = Model(inputs=i, outputs=x)

model.compile( loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'] )

r = model.fit(Xtrain, Ytrain, validation_data=(Xtest, Ytest), epochs=15, batch_size=32)

print("Returned:", r)

plt.plot(r.history['loss'], label='loss') 
plt.plot(r.history['val_loss'], label='val_loss') 
plt.legend() 
plt.show()

Это ошибка:

ValueError: Layer dense_3 was called with an input that isn't a symbolic tensor. Received type: <type 'int'>. Full input: [10]. All inputs to the layer should be tensors.

Спасибо заранее.

1 Ответ

0 голосов
/ 22 октября 2018

заменить x = Dense(k, activation='softmax')(k) на x = Dense(k, activation='softmax')(x)

...