Использование файла .h5 не дает правильного вывода? - PullRequest
0 голосов
/ 25 апреля 2020

В настоящее время я использую Flask для того, чтобы объединить классификацию изображений бэкэнда и внешнего интерфейса. Я также использую файл .h5, чтобы предсказать вывод. Вывод другой и совершенно неверный. Выходные данные должны быть вероятностью предсказания. Я также использовал те же самые шаги предварительной обработки, делая предсказание. Вот код:

def upload():
  if request.method == 'POST':
      # Get the file from post request
      f = request.files['file']

      # Save the file to ./uploads
      basepath = os.path.dirname(__file__)
      file_path = os.path.join(
          basepath, 'uploads', secure_filename(f.filename))
      f.save(file_path)

      MODEL_ARCHITECTURE = 'model_adam_01.json'
      MODEL_WEIGHTS = 'model_50_eopchs_adam_01.h5'

      json_file = open(MODEL_ARCHITECTURE)
      loaded_model_json = json_file.read()
      json_file.close()
      model = model_from_json(loaded_model_json)
      model.load_weights(MODEL_WEIGHTS)
      model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
      prediction = model_predict(file_path, model)
      print("I think that is ")
      print(prediction)
      # print('I think that is {}.'.format(predicted_class.lower()))
      return str(prediction)

Ниже приведена функция model_predict, в которой я прошел путь к изображению, а модель

def model_predict(img_path, model):
    '''
        Args:
            -- img_path : an URL path where a given image is stored.
            -- model : a given Keras CNN model.
    '''

    IMG = image.load_img(img_path)
    print(type(IMG))

    IMG_ = np.asarray(IMG)
    print(type(IMG_))

    print(IMG_.shape)

    IMG_ = prepare(IMG_)
    print(IMG_.shape)
    #print(model)

    prediction = model.predict(IMG_)
    print(prediction.shape)

    return str(prediction)

Ниже приведен вывод, который я получаю:

I think that is 
[[1.8167653e-05]]
...