J'essaie de visualiser la sortie de chaque couche convolutionnelle dans keras, en suivant ce lien: MNIST Visualisation. J'ai modifié certaines couches pour supprimer les erreurs, mais maintenant je suis coincé avec l'erreur Dense Layer.Keras Dense Layer Erreur: TypeError: l'objet 'int' n'est pas appelable
np.set_printoptions(precision=5, suppress=True)
np.random.seed(1337) # for reproducibility
nb_classes = 10
# the data, shuffled and split between tran and test sets
(X_train, y_train), (X_test, y_test) = mnist.load_data("mnist.pkl")
X_train = X_train.reshape(X_train.shape[0], 1, 28, 28)
X_test = X_test.reshape(X_test.shape[0], 1, 28, 28)
X_train = X_train.astype("float32")
X_test = X_test.astype("float32")
X_train /= 255
X_test /= 255
print('X_train shape:', X_train.shape)
print(X_train.shape[0], 'train samples')
print(X_test.shape[0], 'test samples')
# convert class vectors to binary class matrices
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)
i = 4600
pl.imshow(X_train[i, 0], interpolation='nearest', cmap=cm.binary)
print("label : ", Y_train[i,:])
model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode='same',input_shape = (1,28,28))) #changed border_mode from full -> valid
convout1 = Activation('relu')
model.add(convout1)
model.add(Convolution2D(32, 32, 3))
convout2 = Activation('relu')
model.add(convout2)
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(32*196, 128)) #ERROR HERE
Un commentaire ou une suggestion très apprécié. Je vous remercie.
Merci pour votre commentaire Marcin, je l'ai changé model.add (Dense (128)), mais j'ai reçu l'erreur "OverflowError: Range dépasse les limites valides". Savez-vous peut-être pourquoi? – matchifang
De quelle ligne de code? –
la ligne qui a l'erreur. Je l'ai changé de model.add (Dense (32 * 196, 128)) à model.add (Dense (128)) – matchifang