根据模型查询特征接口:
http://ip:port//model/features
post
{
“modelFilePath”:"/data/model/lr.pkl"
}
后台代码实现:
from flask import request
import joblib
import time
modelDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+ '/model/'
#模型文件路径校验,参数不存在使用默认模型
def modelFilePathCheck(request):
if keyIsExist(request,'modelFilePath'):
modelFilePath = request['modelFilePath']
else:
modelFilePath = modelDir + 'default/lr.pkl'
return modelFilePath
#模型特征查询接口
@app.route('/model/features',methods=['POST'])
def features_data():
start = time.time()
try:
logger.info(str(request.get_data()))
request_data = request.get_json() #获取传入数据
modelFilePath = modelFilePathCheck(request_data)
if os.path.isfile(modelFilePath):
#调用model文件
model = joblib.load(modelFilePath)
bins = model.bins
result = {}
result['code'] = '00000'
result['features'] = list(bins.keys())
end = time.time()
logging.info('特征查询耗时:%s',end-start) #计算下接口耗时
return jsonify(result)
return jsonify(code10009)
except KeyError as e:
logger.info(e)
code10001['errorMsg']='输入参数错误:' + str(e)
return jsonify(code10001)
(一)机器学习模型的api调用之初探
(二)机器学习模型的api调用之日志打印
(三)机器学习模型的api调用之异常控制
(四)机器学习模型的api调用之特征查询
(五)机器学习模型的api调用之模型执行