无法从 VSCode 中的 load_model 导入已保存的 keras 模型

Not able to import saved keras model from load_model in VSCode

我在 Colab 上训练了一个 keras 模型来根据图像预测皮肤病,当我尝试通过 VSCode 调用该模型时,出现以下错误。

  File "e:/github/Skin_Disease_Assessment/app.py", line 7, in <module>
    from keras.preprocessing import image

  File "C:\Users\Dilrose\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\__init__.py", line 25, in <module>
    from keras import models

  File "C:\Users\Dilrose\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\models.py", line 19, in <module>
    from keras import backend

  File "C:\Users\Dilrose\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\backend.py", line 301, in <module>
    tf.__internal__.register_clear_session_function(clear_session)
AttributeError: module 'tensorflow.compat.v2.__internal__' has no attribute 'register_clear_session_function' 

当我在 Colab 上提供图像时,我能够预测疾病,但由于我的项目是一个网络应用程序,我希望用户通过 html 输入图像并在网站。

我的Python代码

from flask import Flask, render_template, request, flash, redirect, session, url_for
from sqlite3 import *
from flask import request
from keras.models import load_model
from keras.preprocessing import image
import cv2
import requests

app = Flask(__name__)
app.secret_key = 'abc'

@app.route("/skinExam", methods=["GET", "POST"])
def skinExam():
    if request.method == 'POST':
        f = request.files['file']
        path='static/data/'+ f.filename
        f.save(path)
        model = load_model('models/final_mobilenet.h5')
        img1 = image.load_img(f, target_size=(224,224))
        img = cv2.resize(img1, (224,224)) / 255.0
        prediction = model.predict(img.reshape(1,224,224,3))
    return render_template('skinExam.html')

我的HTML代码

<div class="col-md-6" style='margin-left:250px;'>
        <form class="form-group" action="/skinExam" method='post' enctype="multipart/form-data">
            <label>Upload Image</label>
            <div class="input-group">
                <span class="input-group-btn">
                    <span class="btn btn-default btn-file">
                        Browse… <input type="file" id="imgInp" name="file">
                    </span>
                </span>
                <input type="text" class="form-control" readonly>    
            </div>
            <input type='submit' id='upload' class='btn btn-lg btn-success' value='Upload'>
        </form>
    </div>

有人可以帮我解决这个问题吗?

使用 tensorflow.keras 而不是 keras,通常可以解决此问题