我正在尝试使用加载模型预测并关闭模型的 keras 创建一个预测 API。但是在 python 中的初始化时间大约是 3-5 秒,所以每个请求大约需要 5 秒来返回预测,而不管输入行的数量(预测)
有没有办法让模型保持加载,然后流式传输输入数据以获得预测。就像通过套接字或端口预加载的模型一样。
类似于 open office 文档转换器
\program\soffice.exe -accept="socket,host=127.0.0.1,port=8100;urp;" -headless -nofirststartwizard -nologo
Keras预测代码
#!/usr/bin/env python3.6
import sys
import pandas as pd
from keras.models import load_model
model = load_model('model.h5')
X = pd.read_csv(sys.argv[1]).values
prediction = model.predict(X)
pd.DataFrame(prediction).to_json(sys.argv[2])
脚本被称为
python3.6 predict.py input_scaled.csv output_scaled.json
预测时间如下
#row time
1 4.76 secs
10 4.49 secs
50 5.37 secs
5000 5.46 secs
50000 12.7 secs