Однако, когда я пытаюсь использовать В моей специально обученной модели обнаружения пневмонии (которая очень хорошо работает во время оценки) я заметил, что модель всегда предсказывает класс «ПНЕВМОНИЯ», даже если изображение относится к классу «НОРМАЛЬНОЕ».
Производительность модели (при тестировании набор):
Потери теста: 11,41 %
Точность теста: 97,10 %
Точность теста: 97,46 %
Отзыв теста: 98,60 %
Тестовая AUC: 98,33 %
Предпринятые шаги:
Обучение: я обучил модель с помощью ResNet50. слоев с дополнительными пользовательскими слоями.
Тестирование: я протестировал модель на тестовом наборе, содержащем НОРМАЛЬНЫЕ изображения и изображения ПНЕВМОНИИ, и она показала хорошие результаты.
Тестирование через Flask API: я пробовал отправлять изображения через PHP в Flask API, но модель всегда предсказывает «ПНЕВМОНИЯ».
Код Flask API:
Код: Выделить всё
from flask import Flask, request, jsonify
from tensorflow import keras
import numpy as np
from PIL import Image
app = Flask(__name__)
# Load the model
model = keras.models.load_model('path_to_your_model')
# Class names
class_names = ['NORMAL', 'PNEUMONIA']
@app.route('/predict', methods=['POST'])
def predict():
if 'image' not in request.files:
return jsonify({'error': 'No image file provided'}), 400
image = request.files['image']
try:
# Convert the image to RGB and resize it
img = Image.open(image).convert('RGB')
img = img.resize((224, 224))
# Convert the image to an array and expand dimensions to match model input
img_array = np.array(img) / 255.0
img_array = np.expand_dims(img_array, axis=0) # Add batch dimension
# Make prediction
prediction = model.predict(img_array)
# Get the predicted class
predicted_class = class_names[int(prediction[0] > 0.5)]
return jsonify({
'prediction': predicted_class,
'probability': float(prediction[0])
})
except Exception as e:
return jsonify({'error': f"An error occurred: {str(e)}"}), 500
if __name__ == '__main__':
app.run(debug=True)
Код: Выделить всё
Есть ли какие-либо проблемы со способом отправки изображения или с тем, как API Flask его обрабатывает?
Подробнее здесь: https://stackoverflow.com/questions/792 ... php-script
Мобильная версия