怎么把python模型部署到线上_如何将机器学习模型成功部署到.Net环境中
【IT168 技術】Python和R語言是在數據工程師間最流行的編程語言,但是,它并不能適用于應用程序構建的所有部分。這也就是你為什么有時需要找到一種方法,將Python或R編寫的機器學習模型部署到基于.NET等語言的環境中。
本文將為大家展示如何使用Web API將機器學習模型集成到.NET編寫的應用程序中。
Enter: Flask
我們可以把Flask作為共享和host機器學習預測的一種方式,然后我們選擇著名的來自 Kaggle competition的Titanic 數據集。首先,創建一個新文件并將其稱為titanic_app.py(或任何你想要的名字),導入并初始化Flask應用程序,然后在底部啟動服務器,在中間留出空間,以便稍后添加模型和路線。
請注意,我們指定了希望應用程序運行的主機和端口。
創建和訓練模型
加載Titanic 數據集,并在其上創建一個模型:
制作一個簡單的API
這一部分是最有趣的,現在我們有了 PREDICTOR,我們需要一些標準來衡量做出的預測是否有價值。一種方法是從URL參數中獲取信息,這些參數是在URL的?之后,例如你導航到http:// localhost:4000 / predict?pclass = 1&sex = 1&age = 18&fare = 500&sibsp = 0,則Flask可以為您檢索該數據。
我們寫一條路線來做到這一點:
保存文件并啟動應用程序,你的模型現在已經有一個簡單的API。
部署到.NET環境
在.NET環境中部署Flask有很多選擇,它大大依賴于基礎架構的選擇,下面我們就來看看如何使用Microsoft Azure部署到IIS環境。
我們先假設你已經:
創建了一個Azure Cosmos數據庫;
創建了一個Flask Web應用程序(如前所述);
熟悉Azure和Visual Studio;
如果你已經正確配置了環境,那么就可以將Web應用程序部署到Azure。這可以通過創建一個 web.config 文件來更新Web服務器上的文件來匹配實例中的文件。為此,請執行以下步驟:
在Visual Studio解決方案資源管理器中,右鍵單擊該項目并選擇添加 > 新建項目。在出現的對話框中,選擇Azure web.config(快速CGI)模板,然后選擇確定。這將使web.config在項目的根目錄中創建一個 文件。
修改 web.config 以使路徑與Python安裝相匹配。例如,對于Python 2.7 x64,條目應該如下所示:
設置 WSGI_HANDLER 在進入 web.config 到 tutorial.app 以配合項目名稱,如下圖所示:
在Visual Studio Solution Explorer中,展開tutorial文件夾,右鍵單擊靜態文件夾,選擇Add > New Item,選擇Azure靜態文件web.config 模板,然后選擇OK。此操作會在靜態文件夾中創建另一個web.config,可禁用該文件的Python processing。該配置將靜態文件的請求發送到默認Web服務器,而不是使用Python應用程序。
保存文件,然后右鍵單擊解決方案資源管理器中的項目(確保您還沒有在本地運行),然后選擇發布。
在“ 發布”對話框中,選擇“ Microsoft Azure應用程序服務”,選擇“ 新建”,然后單擊“ 發布”。
在“ 創建應用程序服務”對話框中,輸入您的Web應用程序的名稱以及訂閱,資源組和應用程序服務計劃。然后點擊創建。
幾秒鐘后,Visual Studio完成將文件復制到服務器,并在http://.azurewebsites.net/頁面上顯示以下錯誤消息:“由于發生內部服務器錯誤,無法顯示頁面”。
在Azure門戶中,打開新的應用程序服務帳戶。在導航菜單中,向下滾動到開發工具部分,選擇擴展,然后單擊添加。
在“ 選擇擴展”頁面中,向下滾動到最新的Python 2.7安裝并選擇x86或x64位選項,然后單擊“ 確定”接受法律條款。
使用Kudu控制臺,你可以在https://.scm.azurewebsites.net/DebugConsole中找到該控制臺,以安裝應用程序requirements.txt 文件中列出的軟件包 。在Kudu診斷控制臺中,導航到D:\ home \ Python27中的 Python文件夾,然后按照Kudu控制臺部分中所述運行以下命令:
D:\home\Python27>python -m pip install --upgrade -r /home/site/wwwroot/requirements.txt
按下重新啟動按鈕來安裝新軟件包之后,在Azure門戶中重新啟動App Service 。
完整配置服務器環境后,刷新瀏覽器中的頁面,即可顯示Web應用程序。
總結
以上是生活随笔為你收集整理的怎么把python模型部署到线上_如何将机器学习模型成功部署到.Net环境中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 判断三个数是否能构成三角形_三角形的面积
- 下一篇: 红米android版本,微信红米低版本下