我们原来一直看的文章,大都是在讲机器学习原理、如何构造特征、如何调参之类的,但是实际中模型是如何进行部署的呢?下面的这篇文章就是在讲用Flask框架进行模型部署(注明:这篇文章基本是翻译国外大神的著作,如果英文不错建议直接看原作,英文不好的话也要尽量看下原作)
文章目录:
- 部署机器模型的选择
- 什么是APIs?
- Flask基础
- 创建一个机器学习模型
- 保存机器学习模型:序列化和反序列化
- 用Flask创建一个API
1.机器学习模型部署的选择
我们知道机器学习的模型大多是使用python或者是R语言来写的,但是使用这些模型的软件工程师可能用的完全不是这些语言(机器学习模型有时只是一个软件中的一小部分,比如聊天机器人、自动邮箱发送系统)。所以针对这个问题可以有下面两种解决办法:
-
用软件工程师工作的语言来重写整个机器学习代码,但是这消耗时间和精力太多,并且像JavaScript这样的语言又不能提供很好的库来执行机器学习方法,所以这样方法是不可取的。
-
使用API方法,Web API使跨语言应用程序可以轻松运行。 如果前端开发人员需要使用ML模型来创建ML支持的Web应用程序,他们只需要从提供API的位置获取URL端点。
2.什么是APIs?
何为API?API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节API通俗解释参考
在这篇文章中,我们主要使用Python中的轻量级web框架–Flask来构建API
3.Flask基础
下面我们来创造一个Flask web应用程序
-
打开Python编辑器(这里使用的是pycharm)
-
写入如下的代码
“”“