Ошибка OSE: невозможно определить файл изображения <_io.BytesIO ...... при прогнозировании модели keras - PullRequest
0 голосов
/ 15 октября 2018

Привет, ребята, я пытался развернуть модель keras для колбы на веб-странице, но после того, как я дал ей изображение, когда я пытаюсь предсказать, он дает мне это "OSError: невозможно идентифицировать файл изображения <_io.BytesIO объект в 0x25A1C3F36D0>"

import base64
import numpy as np
import io
from io import BytesIO
from PIL import Image
import keras
from keras import backend as k
from keras.models import Sequential
from keras.models import load_model
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing.image import img_to_array
from flask import request
from flask import jsonify
from flask import Flask

app = Flask(__name__)

def get_model():
    global model
    model = load_model('predict.h5')
    print("* model loaded!")

def preprocess_image(image, target_size):
    if image.mode !=("RGB"):
        image = image.convert("RGB")
    image = image.resize(target_size)
    image = img_to_array(image)
    image = np.expand_dims(image, axis=0)

    return image

get_model()


@app.route("/predict", methods=["post"])
def predict():
    message = request.get_json(force=True)
    encoded = message['image']
    decoded = base64.b64decode(encoded)
    image = Image.open(io.BytesIO(decoded))
    processed_image = preprocess_image(image, target_size=(256,256))

    predict = model.predict(processed_image).tolist()

    response = {
           'prediction' : {
        'dog' : prediction[0][0],
        'cat' : prediction[0][1]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...