【发布时间】:2019-03-12 14:02:57
【问题描述】:
我刚刚成功完成了一个 tf.keras 顺序模型的训练,并编写了一个单独的“Flask”脚本,我将保存的模型加载到我上传到 Heroku 的应用程序中。一切正常。但是,当我玩的时候,我意识到我只需要导入 Flask,从 flask 以及 pandas 请求,numpy 和从 tensorflow.python.keras.models import load_model:
from tensorflow.python.keras.models import load_model
from flask import Flask, request
import pandas as pd
import numpy as np
所有 model.predict 都可以工作(在我运行 load_model() 以及必要的 pandas 和 numpy 转换以正确格式(processed_features)获取 Flask/Post 数据之后:
preds = flask_model.predict(processed_features).flatten()
什么允许我运行 model.predict()?导入 load_model 时 model.predict() 是否可用(我显然不必使用 load_model 来运行 model.predict 以在训练后针对我的测试数据运行)?或者 model.predict() 是 python、numpy 或 pandas 中的通用函数,它知道如何通过 keras 模型执行预测(不知何故只是利用了权重、偏差、模型形状)?
虽然一切正常,但我想我不明白它是如何工作的。
【问题讨论】:
-
predict 只是 Keras 类模型中的一个函数,来源在这里:github.com/keras-team/keras/blob/master/keras/engine/…
标签: tensorflow keras