У меня есть простая модель NN для обнаружения рукописных цифр от 28x28px изображения, написанного в Python с использованием Keras (Theano бэкенда):Keras model.summary() результат - Понимание # Параметров
model0 = Sequential()
#number of epochs to train for
nb_epoch = 12
#amount of data each iteration in an epoch sees
batch_size = 128
model0.add(Flatten(input_shape=(1, img_rows, img_cols)))
model0.add(Dense(nb_classes))
model0.add(Activation('softmax'))
model0.compile(loss='categorical_crossentropy',
optimizer='sgd',
metrics=['accuracy'])
model0.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch,
verbose=1, validation_data=(X_test, Y_test))
score = model0.evaluate(X_test, Y_test, verbose=0)
print('Test score:', score[0])
print('Test accuracy:', score[1])
В этом хорошо работает, и я получаю точность ~ 90%. Затем я выполняю следующую команду, чтобы получить сводку структуры моей сети, выполнив print(model0.summary())
. Это выводит следующее:
Layer (type) Output Shape Param # Connected to
=====================================================================
flatten_1 (Flatten) (None, 784) 0 flatten_input_1[0][0]
dense_1 (Dense) (None, 10) 7850 flatten_1[0][0]
activation_1 (None, 10) 0 dense_1[0][0]
======================================================================
Total params: 7850
Я не понимаю, как они добираются до 7850 общих параметров и что это на самом деле означает?
Спасибо! Почему существует один вес связи с предубеждением? В чем его цель? – user3501476