#python #keras #conv-neural-network
#python #keras #conv-нейронная сеть
Вопрос:
Я пытаюсь обучить модель CNN распознавать 28 различных классов. Вот моя модель:
model = Sequential()
model.add(Conv2D(16, (2,2), input_shape=(image_x, image_y, 1), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2), padding='same'))
model.add(Conv2D(32, (5,5), activation='relu'))
model.add(MaxPooling2D(pool_size=(5, 5), strides=(5, 5), padding='same'))
model.add(Conv2D(64, (5,5), activation='relu'))
model.add(MaxPooling2D(pool_size=(5, 5), strides=(5, 5), padding='same'))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(num_of_classes, activation='softmax'))
sgd = optimizers.SGD(lr=1e-2)
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
И вот эпоха и все остальное:
model, callbacks_list = cnn_model()
model.summary()
model.fit(train_images, train_labels, validation_data=(test_images, test_labels), epochs=20, batch_size=500, callbacks=callbacks_list)
scores = model.evaluate(test_images, test_labels, verbose=0)
Проблема в том, что когда я тренирую эту модель на своем ПК, я получаю точность около 3-5%. Однако при обучении в Google colab я получаю точность 99,57%.
Мои пакеты для ПК и прочее:
python 3.6.8
tensorflow 1.13.1
keras 2.2.4
Все, что я сделал, это загрузил все в Google colab и протестировал для получения удивительного результата.
Комментарии:
1. Используете ли вы тот же код для обучения в local и colab.? та же предварительная обработка.? те же данные.? Обучение дает одинаковые потери в обоих случаях.?
2. Точно так же. Точка с запятой изменилась не так сильно. Просто загрузил всю папку в colab и обучился там.
3. Таким образом, вы получаете одинаковые потери при обучении в обоих случаях.?
4. точность 99,57% для 28 различных классов слишком сложна для достижения. Вероятно, что-то не так в обучении colab
5. Ну, я протестировал модель с моими собственными захваченными изображениями, и colab распознает почти все время, тогда как модель с моего ПК продолжает печатать тот же класс. Я думаю, что потери тоже разные. @sreeram TP