#keras #deep-learning #conv-neural-network #loss
#keras #глубокое обучение #conv-нейронная сеть #потеря
Вопрос:
Я пытаюсь обнаружить ограничительную рамку для сегментации абзаца с помощью CNN. Это моя модель ,
model = models.Sequential()
model.add(layers.Conv2D(16, (3, 3), activation='relu', input_shape=(1120, 800, 1)))
model.add(layers.Conv2D(16, (3, 3), activation='relu'))
model.add(layers.Conv2D(16, (3, 3), activation='relu'))
model.add(layers.Conv2D(16, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(16, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(4, activation='sigmoid'))
#fit
model.compile(optimizer='adam',
loss=tf.keras.losses.MeanSquaredError(),
metrics=['accuracy'])
history = model.fit(X_train, y_Train ,batch_size=10, epochs=5,
validation_data=(X_test, y_test))
Форма формы x_train равна (93, 1120, 800, 1) ; y_train — это форма (93,1,4) . Я слежу за сообщением в блоге, где они использовали MeanSquaredError в качестве функции потерь. Каждый раз, когда я запускаю этот код, я получаю эту ошибку.
Ошибка
ValueError: A target array with shape (93, 1, 4) was passed for an output of shape (None, 4) while using as loss `mean_squared_error`. This loss expects targets to have the same shape as the output.
Я уже ищу решение. но не нашел, в чем именно моя проблема.
Комментарии:
1. Используйте tf.keras.losses. Означает quarederror вместо tf.keras.losses. Означает quarederror()
2. Не работает . показывает » Ошибка значения: получен неустановленный класс потерь: MeanSquaredError’> Пожалуйста, вызовите классы loss «»перед передачей их в Model.compile «.
3. Проблема решена …..
Ответ №1:
Удалите активацию =’сигмоид’.
MSE — это мера регрессии, а сигмоид — мера классификации.
-MULTI LABEL CLASSIFICATION
activation: sigmoid
loss: binary_crossentrophy
-MULTI CLASS CLASSIFICATION
activation: softmax
loss: categorical_crossentrophy
REGRESSION (-inf, inf)
Activation: None
loss: mse