楼主: 时光永痕
562 0

[数据挖掘新闻] 如何借助Python和Flask在Azure云中部署机器学习模型? [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

46%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何借助Python和Flask在Azure云中部署机器学习模型?
作为一名机器学习工程师或数据科学家,重要的是将您的工作毫不费力地向公众展示。尽管您可能为预测分析创建了一个很好的模型,但是如果您无法向公众展示您创建的工作,那么您的辛苦工作就没有用了。当一个人将您的ML模型用于他们的目的时,他/她应该能够获得所需的输出。给天真的人一堆代码是愚蠢的举动,而你不想成为一个。
因此,应该有一个出路,让您可以向公众展示您的作品。解决此问题的方法是以Web应用程序的形式部署您的工作。这有助于向公众展示您的作品,而不会深入到作品的后端。成功部署代码后,就无需访问后端,人们可以通过在前端输入值来获得所需的结果。
为了部署机器学习模型,我们将集中围绕Python编程语言进行开发,而该工具的部署工具将是Flask和Microsoft Azure。主要目的是创建一个Web应用程序,该应用程序将运行在基于云的服务器上的24×7全天候运行。因此,在不浪费时间的情况下,让我们开始:
注意:在这里,我们将使用著名的鸢尾花数据集,并将我们的工作存储在Github上,并将其通过Github部署到Azure。
创建一个ML模型
首先要做的第一件事是创建一个名为model.py的机器学习模型,然后使用Pickle或Joblib在本地系统中对模型进行酸洗。因此,让我们看看如何使用支持向量机分类为虹膜花数据集创建一个简单的机器学习模型:
模型
#导入必要的库
从pyforest导入*
从sklearn.model_selection导入train_test_split
从sklearn.svm导入SVC
导入joblib
从sklearn.datasets导入load_iris
#将数据集加载到熊猫数据框中
数据= load_iris()
data.feature_names
df = pd.DataFrame(data.data)
df.head()
#使用实际的列名称重命名列,即萼片和花瓣的宽度和长度
df.columns = data.feature_names
data.target_names
#将目标要素插入数据集中
df [“ target”] = data.target
#获取X和y以将其输入ML模型
X = df.drop(“ target,axis = 1)
y = df.target
#将数据集拆分为训练和测试
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2,random_state = 42)
#通过创建该类的对象来加载SVC模型
型号= SVC()
#训练模型
model.fit(X_train,y_train)
#做出预测
y_pred = model.predict(X_test)
#挑选模型
joblib.dump(model,“ model.pkl”)
c = [2
from_jb = joblib.load(“ model.pkl”)
from_jb.predict([c])
创建Flask应用
在创建了model.py文件并对其进行腌制之后,下一步就是创建一个名称为app.py的Flask Web应用程序,要创建该应用程序,我们需要遵循以下步骤。另外,请注意,model.py,model.pkl和app.py应该位于计算机的同一目录中。选择Flask的原因是,它是一个非常轻便的Web框架,有助于以最少的代码行创建Web应用程序。
尽管有许多用于创建Django,Web2py,Grok,TurboGears等Web应用程序的Python框架,但Flask仍然可以帮助我们以更少的时间投入来创建应用程序,对于那些想学习构建Web应用程序的初学者来说,它还是一个很好的工具。此外,该框架完全依赖于Python来编码相关内容,而不依赖于其他依赖工具。要了解这个令人惊叹的库的见解,必须要具备与Python,一点点HTML和CSS以及数据库管理系统(如果涉及任何与数据相关的工作)相关的良好知识。因此,如果您了解这三件事,那么就可以使用Flask编写代码了。
应用程式
#导入部署所需的库
从烧瓶导入烧瓶,请求,jsonify,render_template
导入joblib
从pyforest导入*
#将我们的应用命名为应用
app = Flask(__ name__)
#加载用于创建Web应用程序的pickle文件
模型= joblib.load(open(“ model.pkl”,“ rb”))
#定义html的不同页面并指定需要在html表单中填写的功能
@ app.route(“ /”)
def home():
返回render_template(“ index.html”)
#通过指定参数并将其提供给ML模型为预测模型创建函数
@ app.route(“ / predict”,Methods = [“ POST”])
defdict():
#将参数指定为数据类型float
int_features = [request.form.values()中x的float(x)]
final_features = [np.array(int_features)]
预测= model.predict(final_features)
输出=轮(预测[0],2)
返回render_template(“ index.html”,prediction_text =“花是{}”。格式(输出))
#运行flask应用
如果__name __ =“ __main__”
app.run(debug = True)
注意:请注意,请使用您选择的任何IDE,例如Sublime,VS Code,Atom,Spyder等。但是,请勿使用任何IPython笔记本来创建Web应用程序,因为这些笔记本不支持Flask。Flask仅支持.py文件,而不支持.ipynb文件。
通过HTML创建前端
现在,下一步是创建一个HTML文件(如前所述),这是在Flask中创建Web应用程序的先决条件,该应用程序的名称index.html包含在 同一目录下的文件夹模板中。要查看此文件,只需点击以下链接:
Index.html
HTML表单的详细信息位于以下链接中:
https://raw.githubusercontent.com/Sagu12/Azure-deploy/main/templates/index.html
我们创建的HTML表单非常简单,仅包含数据集中存在的要素名称以及我们希望表单显示的预测输出。有一个主按钮,单击该按钮可提供所需的输出。您还可以根据需要添加各种颜色和背景图像,以使表单更加美观。
创建3个文件后,最后一步是创建一个requirements.txt文件,其中将包含在预测中使用的所有必要的库详细信息。为此,我们将使用命令提示符和pipreqs库。只需在同一目录下打开CMD并输入
pipreqs您的文件路径
完成后,您的requirements.txt文件就准备好了。现在,您只需要在一个包含README.md文件,.gitignore文件和许可证文件的新存储库下的Github中上传必要的文件。将带有index.html的app.py,model.pkl,Requirements.txt和模板文件夹上载到存储库。
注意:如果此处没有正在使用的某些库,则可以在pip的帮助下使用命令提示符或Anaconda提示符下载相同的库。
pip库的安装名称
等待安装完成。安装完成后,您就可以开始了。
部署到Azure云
完成此操作后,只需打开portal.azure.com,然后登录到您的Microsoft帐户(如果您拥有一个帐户)或仅创建一个帐户即可,因为只需几分钟即可完成此操作。进入Azure门户后,需要执行以下步骤来部署Github中包含的Flask应用程序:
单击最左侧的创建资源选项,然后单击选项部分中的Web应用程序。
确保您的订阅是免费版本。现在,创建一个具有唯一名称的新资源组。
之后,输入应用程序的名称,如果您有原始代码,则单击“代码”部分,如果已将应用程序容器化,则单击Docker。在这里,我将使用“代码”选项。之后,只需选择您的运行时,即您在创建模型时使用的Python版本。
单击您选择的任何特定区域,然后确保已从sku和size选项中选择了免费的F1版本。
完成所有这些操作后,只需单击“查看并创建”选项,便可以进入部署阶段。
创建Web应用程序后,下一步就是通过Github在Azure中部署应用程序。单击转到资源,然后单击部署中心。
完成后,只需选择Github选项,然后单击Continue。
选择“应用程序服务构建服务”,然后单击“继续”。下一步是选择您的存储库名称,然后单击继续,然后单击完成。
恭喜,您的部署正在进行中,一旦完成,您就可以通过单击“概述”部分并单击生成的链接来查看您的应用程序。您可以通过单击以下链接检查我的简单应用程序:https://simpleirisapp.azurewebsites.net
结论
因此,这就是可以非常轻松地将任何机器学习和深度学习应用程序部署到Azure并可以在全球范围内共享他/她的工作的方式。自己去尝试并创造奇迹。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Flask Azure 机器学习 Fla

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 03:14