前沿追踪|用Python将Keras深度学习模型部署为Web应用程序( 二 )

这将创建如下所示的表单(样式来自main.css):
前沿追踪|用Python将Keras深度学习模型部署为Web应用程序该validator代码确保用户输入正确的信息 。 例如 , 我们检查所有框是否都已填写 , 且其diversity介于0.5到5之间 。 必须满足这些条件才能接受该表格 。
前沿追踪|用Python将Keras深度学习模型部署为Web应用程序我们Flask实际提供表单的方式是使用模板 。
模板模板是一个包含基本框架的文档 , 我们需要用它来填充细节 。 对于Flask Web应用程序 , 我们可以使用Jinja模板库将Python代码传递到HTML文档 。 例如 , 在main函数中 , 我们将把表单的内容发送到一个名为index.html的文件.

  • Jinja模板库:
from flask import render_template# Home page@app.route("/", methods=['GET', 'POST'])def home():"""Home page of app with form"""# Create formform = ReusableForm(request.form)# Send template information to index.htmlreturn render_template('index.html', form=form)当用户到达主页时 , 我们的应用程序将提供index.html表格上的细节 。 该模板是一个简单的html框架 , 我们在其中使用{{variable}}语法引用python变量 。
RNN Patent Writing
Writing Novel Patent Abstracts with Recurrent Neural Networks
{% block content %}{% for message in form.seed.errors %}{{ message }}{% endfor %}{% for message in form.diversity.errors %}{{ message }}{% endfor %}{% for message in form.words.errors %}{{ message }}{% endfor %}
{{ form.seed.label }}{{ form.seed }}{{ form.diversity.label }}{{ form.diversity }}{{ form.words.label }}{{ form.words }}{{ form.submit }}
{% endblock %}
对于表单中的每个错误(那些无法验证的条目) , 对应的一个错误将闪烁 。 除此之外 , 此文件将显示上述表单 。
当用户输入信息并点击submit(POST请求)时 , 如果信息是正确的 , 我们希望将输入转移到适当的函数 , 以使用经过训练的RNN进行预测 。 这意味着修改home() 。
from flask import request# User defined utility functionsfrom utils import generate_random_start, generate_from_seed# Home page@app.route("/", methods=['GET', 'POST'])def home():"""Home page of app with form"""# Create formform = ReusableForm(request.form)# On form entry and all conditions metif request.method == 'POST' and form.validate():# Extract informationseed = request.form['seed']diversity = float(request.form['diversity'])words = int(request.form['words'])# Generate a random sequenceif seed == 'random':return render_template('random.html',input=generate_random_start(model=model,graph=graph,new_words=words,diversity=diversity))# Generate starting from a seed sequenceelse:return render_template('seeded.html',input=generate_from_seed(model=model,graph=graph,seed=seed,new_words=words,diversity=diversity))# Send template information to index.htmlreturn render_template('index.html', form=form)


推荐阅读