将训练好的Tensorflow模型部署到web应用中

  做一个简易web使用Flask是最好的选择,不仅上手快,使用也很便利。Django很强大也很好用,但一次就会创建一个项目的所需的文件,我觉得对于测试一个模型在web端有没有效果没必要用它。

  flask依赖jinja和werkzeug,所以再稍微学一点jinja的语法即可。

  关于TensorFlow如何保存/加载模型就不多说了(或者可以直接使用TensorFlow.js,但我用npm一直安装出错,遂放弃)。

  首先安装flask:`pip install flask`。可能需要注意flask的环境变量问题,如果遇到,则自己网上找找办法吧。

  然后在本地或者云端选择一个目录下创建一个python文件,名字自己取一个(例如`web.py`)。

  以我自己写的为例吧,web.py文件内容大致如下:

from flask import *


app = Flask(__name__)


@app.route('/service', methods=['GET', 'POST'])
def service():
    if request.method == 'POST':
        input_x = string_floats(request.form['X'])
        from model import service
        g.output = service.predict(input_x) # 使用模型
        return render_template("page.html", output=g.output)
    return render_template("page.html")

  page.html文件是这样的:




    
    Using Model
    


    
{% if output is defined %}

Output:

{{ output }} {% endif %}

  flask通过将py文件中定义的变量插入到html中的,jinja通过{{ }}使用,g是一个全局变量。

  然后,命令行进入到web.py所在的目录下。

  windows下cmd中运行:

set FLASK_APP=web.py
set FLASK_DEBUG=1
flask run

  其他操作系统终端语法参考:http://flask.pocoo.org/docs/1.0/tutorial/factory/

  效果:

将训练好的Tensorflow模型部署到web应用中_第1张图片

 

  参考:https://blog.csdn.net/luoyexuge/article/details/78227317

转载于:https://www.cnblogs.com/darkchii/p/10015894.html

你可能感兴趣的:(将训练好的Tensorflow模型部署到web应用中)