本文以一个小项目带你弄清ML的项目流程
这周做作业查资料时,无意中看到一个GitHub项目ML-web-app,它以PyTorch训练MNIST文字识别模型为例,介绍了从模型训练
到部署上线
的整个流程。是非常好的学习项目!下图是效果图:
笔者浏览了项目的代码,以学习为目的,简单解读下这个项目。
模型训练
模型训练是相对独立的部分,可以由算法工程师来做。总结起来就是调用PyTorch接口,建立一个神经网络,然后利用MNIST数据进行训练,最后把训练好的模型文件存储起来,后面部署的时候要用到。
服务部署
该项目使用Flask框架部署服务,为了方便阅读,笔者对代码进行了精简。
下面的代码中,通过加载预训练好的模型数据,得到模型实例,可以进行预测:
# initialize flask application
app = Flask(__name__)
# Read model to keep it ready all the time
model = MyModel('./ml_model/trained_weights.pth', 'cpu')
核心预测API路由