如何對SAP Leonardo上的機器學習模型進行重新訓練
Jerry之前的兩篇文章介紹瞭如何通過Restful API的方式,消費SAP Leonardo上預先訓練好的機器學習模型:
當時Jerry提到,Product Image Classification API只支援29種產品類別:
如果我們開發應用時需要支援額外的產品類別,就需要自行提供該產品類別的圖片來重新訓練模型。
下面介紹SAP Leonardo上機器學習模型的重新訓練步驟。
假設我們期望重新訓練之後,Product Image Classfication這個模型能夠識別出不同種類的花,那麼我們首先得搞到大量花的圖片。Tensorflow的官網上,已經體貼地給想做模型訓練的學習者們,提供了一個做練習用的壓縮包,裡面包含了大量各式花的圖片。
http://download.tensorflow.org/example_images/flower_photos.tgz
SAP Leonardo接受的能用於重新訓練模型的資料集,必須符合下圖所示的層級結構,即training, validation和test三個資料夾下面,分別包含以產品類別命名的子資料夾,且資料規模之比為8:1:1.
有了用於訓練的資料後,下一步就是把這些資料上傳到SAP Leonardo的模型線上儲存平臺上。
Jerry的前一篇文章 部署在SAP Cloud Platform CloudFoundry環境的應用如何消費 曾經介紹瞭如何在SAP雲平臺上建立Leonardo機器學習的服務例項,這個例項的service key裡包含了一個IMAGE_RETRAIN_API_URL,可以用來獲取線上儲存的url:
向這個url傳送一個HTTP get請求,得到線上儲存的url:
把這個url貼上到瀏覽器裡,輸入postman裡返回的accessKey和secretKey登入,就能以web的方式訪問這個線上儲存了:
下一步是把本地的訓練檔案上傳到這個部署在AWS上的線上儲存上去。
首先用命令列 mc config host 定義一個名為sapjerrys3的遠端站點,將上一步從postman獲得的AWS線上儲存url,accessKey和secret繫結到這個站點上:
然後使用命令列上傳檔案:
mc.exe cp -r C:\Code\MachineLearningStudy\flowersjerry sapjerrys3\data
大概十幾分鍾後,檔案上傳完畢:
此時可以從瀏覽器裡看到AWS線上儲存上傳完畢的訓練檔案。
現在可以提交一個後臺作業了,讓Leonardo去處理這些上傳好的檔案,ABAP顧問們可以把這個動作理解成在Netweaver事務碼SM36裡定義一個後臺作業並提交。傳送一個HTTP post請求,除了下圖jobName, dataset和modelName需要自己維護外,其他欄位都使用SAP官網上定義的預設值。
這個請求會返回一個後臺作業ID,抄下來後把它拼到url末尾,然後重新傳送一個HTTP get請求,即可查詢到這個作業的執行情況。Jerry重新訓練的時候,等待了大概五分鐘,作業狀態就變為SUCCEEDED了。
因為上一篇和本文做的練習都是在SAP Cloud Platform的CloudFoundry環境中進行的,因此我們也可以用cf命令列來查詢這些作業的執行情況:
cf sapml retraining jobs -m image
如果遇到作業狀態為FAILED的情況,去AWS線上儲存上檢視以作業名稱命名的資料夾,裡面包含了詳細的訓練日誌,可以用作錯誤分析:
在這個訓練好的模型能正式被使用之前,我們還需要對其進行部署,類似ABAP Netweaver裡的“啟用”動作。
和提交訓練的後臺作業類似,模型部署也是一個非同步執行的步驟,提交部署請求後,得到一個部署作業ID:ms-26c5a22c-6d07-4164-8222-a4182969162d
根據這個部署作業ID可以查詢模型部署狀態:
成功部署後,我們就可以用Restful API消費這個模型了,url的格式為:
https://mlfinternalproduction-image-classifier.cfapps.sap.hana.ondemand.com/api/v2/image/classification/models/ <model name>/versions/1
我從網路上隨便找一張向日葵的照片,
將這張圖片作為HTTP POST的引數發給我重新訓練並且部署好的模型 flowerjerrymodel ,得到的結果顯示,重新訓練後的模型認為這張圖片有大約87%的可能性是代表向日葵。
接下來如果有時間的話,Jerry打算蒐集一些異形(Alien)的圖片來訓練,
看SAP Leonardo能不能把我桌上掛著的這些異形吊飾識別出來。感謝閱讀。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2651682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用SAP Leonardo上的機器學習服務提取圖片的特徵向量機器學習特徵
- 如何在Web應用裡消費SAP Leonardo的機器學習APIWeb機器學習API
- 使用Java程式消費SAP Leonardo的機器學習APIJava機器學習API
- 瀏覽器中的機器學習:使用預訓練模型瀏覽器機器學習模型
- 試用阿里雲GPU伺服器進行深度學習模型訓練阿里GPU伺服器深度學習模型
- 使用SAP Cloud Platform Leonardo機器學習的測試控制檯CloudPlatform機器學習
- 機器學習的訓練集機器學習
- 機器學習之邏輯迴歸:模型訓練機器學習邏輯迴歸模型
- 部署在SAP Cloud Platform CloudFoundry環境的應用如何消費SAP Leonardo機器學習APICloudPlatform機器學習API
- 機器學習-訓練模型的儲存與恢復(sklearn)機器學習模型
- 使用AutoDL伺服器進行模型訓練伺服器模型
- 使用SAP Cloud Platform Leonardo機器學習提取圖片的特徵向量CloudPlatform機器學習特徵
- 如何給SAP雲平臺的賬號分配Leonardo機器學習服務的例項機器學習
- 如何用Python和機器學習訓練中文文字情感分類模型?Python機器學習模型
- 100天搞定機器學習:模型訓練好了,然後呢?機器學習模型
- 初創公司如何訓練大型深度學習模型深度學習模型
- 如何基於元學習方法進行有效的模型訓練?四篇論文詳細剖析元模型的學習原理和過程模型
- 【JSConf EU 2018】用 JavaScript 來在客戶端上訓練和執行機器學習模型JSJavaScript客戶端機器學習模型
- TorchVision 預訓練模型進行推斷模型
- 在Mac上訓練機器學習模型,蘋果WWDC釋出全新Create ML、Core ML 2Mac機器學習模型蘋果
- 【預訓練語言模型】 使用Transformers庫進行BERT預訓練模型ORM
- 如何進行機器學習框架選擇機器學習框架
- 如何管理機器學習模型機器學習模型
- 一步一步教你線上免費訓練機器學習模型(啟用GPU和TPU)機器學習模型GPU
- Workshop:產品經理小姐姐手把手教你訓練機器學習模型機器學習模型
- Arduino和低功耗微控制器機器學習 - 喚醒詞檢測模型訓練UI機器學習模型
- 【預訓練語言模型】使用Transformers庫進行GPT2預訓練模型ORMGPT
- SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用機器學習
- 飛槳圖學習大模型訓練框架大模型框架
- 訓練機器學習的資料集大小很重要 - svpino機器學習
- 【Meetup預告】OpenMLDB+OneFlow:連結特徵工程到模型訓練,加速機器學習模型開發特徵工程模型機器學習
- TiDB v5.1 體驗: 我用 TiDB 訓練了一個機器學習模型TiDB機器學習模型
- 機器學習策略篇:詳解如何使用來自不同分佈的資料,進行訓練和測試(Training and testing on different distributions)機器學習AI
- 機器學習之訓練神經網路:最佳做法機器學習神經網路
- tensorflow機器學習模型的跨平臺上線機器學習模型
- pytorch使用交叉熵訓練模型學習筆記PyTorch熵模型筆記
- NLP與深度學習(五)BERT預訓練模型深度學習模型
- 「模型訓練」如何選擇最適合你的學習率變更策略模型