如何在Web應用裡消費SAP Leonardo的機器學習API
去年5月的時候,Jerry曾經寫了一篇文章:使用Java程式消費SAP Leonardo的機器學習API,而最近另外做的一個專案,需要在Web應用裡做同樣的事情。
因為有了前一篇文章的鋪墊,避免了很多重複的工作量。本文還是選擇使用SAP Leonardo裡的一個Product Image Classification API,即給定一張產品的圖片,該API能識別出此產品的類別。
再回顧下這個API的功能:該API的模型是由SAP基於大約5萬張Icecat圖片訓練而成,能區分29種不同的類別,這些類別具體羅列於官方文件上,比如電腦顯示器,數碼相機,外部儲存裝置,鍵盤,液晶電視,手機充電器,筆記本和其他外設等等。如果我們消費這個API時指定的圖片代表的產品不屬於這29種類別之一,API的表現如何?先賣個關子,文末解答。
關於如何在api.sap.com裡找到這個API並且在API console裡測試,請參考Jerry之前的文章:使用Java程式消費SAP Leonardo的機器學習API。
這裡假定我們已經找到了該API,點選進入明細頁面,將API Key複製下來,後續的UI5應用需要使用到。
然後進入SAP雲平臺的Neo環境。Jerry這個練習,使用免費的SAP Cloud Platform Neo測試環境即可。
在Service列表裡找到WebIDE——我們將使用WebIDE進行UI5應用的開發。
Jerry已經開發好了一個UI5應用上傳到我的Github上了: https://github.com/i042416/MachineLearning-UI5
大家可以直接在WebIDE裡clone這個倉庫,或者把倉庫的內容以zip包的形式下載到本地,再使用WebIDE的本地Import功能匯入。
我們要告訴UI5應用這個API的url,因此在Neo環境裡建立一個Destination(作用和ABAP Netweaver事務碼SM59裡建立的Destination相同):
屬性如上圖所示,因為是Neo測試環境,所以url為對應的sandbox環境: https://sandbox.api.sap.com/ml
記下這個Destination名稱sapui5ml-api, 因為稍後的UI5程式碼裡需要使用。
記得維護額外的屬性WebIDEnabled為true,這樣該Destination才能在UI5應用裡被使用。點選Check Connection確保看到綠燈。
開啟WebIDE裡UI5工程裡的settings.json檔案,將您之前從API console裡拷貝的API Key貼上到此處:
在專案根目錄下的neo-app.json檔案裡,把型別為destination的target物件的名稱維護成之前在SAP Cloud Platform Cockpit裡建立的destination相同的名稱。
執行這個UI5應用,能看到如下介面:
做一些簡單的測試:
SAP Leonardo的機器學習API,識別出這張圖片有74.7%的可能性是一臺膝上型電腦,13.8%的可能性是鍵盤,11.3%的可能性是Tablets。
點選按鈕View JSON,能看到呼叫SAP Leonardo API返回的技術明細。
滑鼠的圖片也成功識別出來了:
本文開始曾經提到這個API能識別出29種不同的產品類別,現在換一種產品,如下圖:
這是Jerry小時候就很痴迷的《終結者》系列的T800,我在2017年回覆SAP社群上一篇部落格時也引用到了這款經典的模型,和阿諾德 - 施瓦辛格那句激勵無數中老年程式設計師的著名臺詞:I am old but I am NOT OBSOLETE
原文連結: https://blogs.sap.com/2016/12/19/and-now-for-something-completely-different/
言歸正傳,如果希望SAP Leonardo的Product Image Classification API也能成功將T800識別出來,需要做些什麼?
答案是重新訓練模型。具體如何做,Jerry也還在研究,等研究完畢再分享。感謝閱讀。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2650472/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Java程式消費SAP Leonardo的機器學習APIJava機器學習API
- 部署在SAP Cloud Platform CloudFoundry環境的應用如何消費SAP Leonardo機器學習APICloudPlatform機器學習API
- 如何在SAP CRM裡建立和消費Web serviceWeb
- 使用SAP Cloud Platform Leonardo機器學習的測試控制檯CloudPlatform機器學習
- SAP Leonardo圖片處理相關的機器學習服務在SAP智慧服務場景中的應用機器學習
- 使用SAP Cloud Platform Leonardo機器學習提取圖片的特徵向量CloudPlatform機器學習特徵
- 如何在SAP Server Side JavaScript裡消費destinationServerIDEJavaScript
- 如何對SAP Leonardo上的機器學習模型進行重新訓練機器學習模型
- 使用SAP Leonardo上的機器學習服務提取圖片的特徵向量機器學習特徵
- 機器學習在SAP Cloud for Customer中的應用機器學習Cloud
- SAP FSM 學習筆記(一) : 使用API消費FSM的資料筆記API
- 如何在SAP C4C裡使用ABSL消費第三方Restful APIRESTAPI
- 使用SAP WebIDE消費API Portal裡建立的API時的錯誤訊息WebIDEAPI
- 如何在 SAP BTP 平臺 ABAP 程式設計環境裡消費基於 SOAP 的 Web Service程式設計Web
- 在 SAP BAS 裡使用 SAP UI5 應用消費 OData 的 Create 和 Delete 操作UIdelete
- 如何給SAP雲平臺的賬號分配Leonardo機器學習服務的例項機器學習
- 如何在SAP Fiori應用裡使用React componentReact
- 如何在 SAP BTP 上使用 Integration Suite 消費 S/4HANA Cloud APIUICloudAPI
- 使用soapUI消費SAP Cloud for Customer的web serviceUICloudWeb
- 如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫Java資料庫
- SAP UI5 應用開發教程之四十五 - 如何在 SAP UI5 應用裡使用 jQuery 和原生的 DOM APIUIjQueryAPI
- 使用nodejs消費SAP Cloud for Customer上的Web serviceNodeJSCloudWeb
- 如何在瀏覽器裡開發並執行 SAP UI5 應用瀏覽器UI
- 如何在 SAP BTP Java 應用裡使用 SQLite 資料庫JavaSQLite資料庫
- 史丹佛大學-機器學習的動機與應用機器學習
- SAP戰略中的機器學習機器學習
- 吳恩達機器學習筆記 —— 11 應用機器學習的建議吳恩達機器學習筆記
- 從零開始學機器學習——構建一個推薦web應用機器學習Web
- 用於Web開發的5種機器學習框架Web機器學習框架
- 【機器學習】--LDA初始和應用機器學習LDA
- Apache Hudi在Hopworks機器學習的應用Apache機器學習
- 如何在 SAP BTP 上建立以及消費 Business Rule Service
- 從SAP Leonardo到SAP Data IntelligenceIntel
- 知物由學 | 人工智慧、機器學習和深度學習如何在網路安全領域中應用?人工智慧機器學習深度學習
- SAP Leonardo Machine Learning deprecated狀態API和其替代者MacAPI
- 機器學習在金融比賽中的應用機器學習
- 【機器學習】--Adaboost從初始到應用機器學習
- 如何快速應用機器學習技術?機器學習