赞
踩
本文的想法是快速轻松地构建 Docker 容器,Python 以使用 Flask 实现机器学习模型执行在线预测 API 。我们将使用 Docker 和 Flask-RESTful 实现线性判别分析和多层感知器神经网络模型的实时预测。
项目包括的文件有:Dockerfile,train.py,api.py,requirements.txt, train.csv,test.json。
Dockerfile 将被用来构建 Docker 镜像
train.py 使用规范化的 EEG 数据训练两个分类模型(线性判别分析和多层感知器神经网络模型)
api.py 是将被调用执行使用 REST API 的在线预测接口脚本
requirements.txt(flask, flask-restful, joblib)是 Python 依赖
train.csv 用于训练模型的数据
test.json 是一个 json 文件,包含待预测的数据
第一步先思考我们需要构建哪些接口,输入和输出分别是什么。在这个例子里,我们将使用 包含 1300 行,160 列特征的 EGG 数据 test.json 文件。我们想要实现的 API 包括:
查询数据
请求方式:GET
请求示例:http://0.0.0.0:5000/line/232
参数说明:line, 必须, 行号
返回结果:
{"Line": "232", "# Letter": "4", ...}
获取预测结果 请求方式:GET
请求示例:http://0.0.0.0:5000/prediction/232
参数说明:line, 必须, 行号
返回结果:
- {
- "prediction LDA": "21",
- "prediction Neural Network": 8
- }
结果说明:
prediction LDA: LDA 模型分类预测结果
prediction Neural Network: 神经网络模型预测结果
获取模型效果评分 请求方式:GET
请求示例:http://0.0.0.0:5000/score
返回结果:
- {
- "Score LDA": 0.17846,
- "Score Neural Network": 0.596923
- }
结果说明:
Score LDA: LDA 模型评分
Score Neural Network: 神经网络模型评分
最后,我们能通过 HTTP 请求来获取结果,该 api.py 文件实现如下:
- # We now need the json library so we can load and export json data
- import json
- import os
- import numpy as np
- from sk
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。