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能不能把我桌上挂着的这些异形吊饰识别出来。感谢阅读。
相关推荐
sap press doc 解压密码:abap_developer
sap press doc 解压密码:abap_developer
sap press doc 解压密码:abap_developer
为了帮助更多企业利用机器学习,SAP开发了SAP Leonardo Machine Learning,这是一种自动建模的解决方案,它利用了结构风险最小化(SRM)的专利算法来标准化和产业化预测模型。这种自动化建模的能力使得即使没有传统...
结合机器学习回归,集成学习和深度学习模型来预测自行车租赁数量 数据源:bikesharing.csv- 该项目是作为UT达拉斯应用机器学习课程的主要任务而创建的,包括2个项目: 项目1有2个部分: 第1部分::数据清理,有...
SAP智能机器人流程自动化解决方案是SAP为了适应企业数字化转型趋势推出的一种技术方案,旨在帮助企业高效自动化处理复杂但低附加值的重复性流程,从而释放人力资源,聚焦于更高价值的工作,如提升产品和服务质量,...
"Leonardo"是一款备受瞩目的字体,它在设计领域中被广泛应用,特别是在数字设计、图形设计和排版中。这款字体以其独特的风格和易读性脱颖而出,为设计师提供了丰富的创意选项。 字体是计算机用户与文本交互的核心...
arduino leonardo 电路图
这个压缩包包含了Arduino Leonardo电路原理图、PCB设计文件以及相关的参考文档,对于想要深入了解其工作原理或者进行硬件修改的用户来说非常有价值。 1. **Arduino Leonardo电路原理图**: - `1169-Arduino ...
8. **项目实施方法论**:SAP的实施通常遵循 ASAP(Accelerated SAP)或 Leonardo Methodology,理解这些方法论的阶段和关键活动,能够显示你的项目管理能力。 9. **业务流程知识**:除了技术层面,还需要具备对不同...
此外,SAP Leonardo引入了人工智能和机器学习,帮助企业自动化流程,提高运营效率。 8. **合规性与可持续性**:在日益关注社会责任的今天,SAP解决方案可以帮助企业实现合规生产,追踪供应链中的环保指标,推动可...
SAP Leonardo 是 SAP 推出的企业创新动力平台,它整合了诸如 SAP S/4HANA、SAP Hybris、SAP SuccessFactors、Concur、SAP Fieldglass、SAP Ariba 等一系列解决方案,并结合物联网(IoT)、机器学习、大数据、区块链...
12. ** Leonardo**:SAP的创新平台,集成了人工智能、机器学习、物联网和区块链技术,帮助企业实现数字化转型。 压缩包中的"SAP中文词汇.xls"文件很可能包含了上述各个概念的中文解释和术语对照,对于学习和理解SAP...
6. **智能企业**:SAP利用人工智能(AI)、机器学习(ML)和大数据分析技术,推动企业数字化转型,实现预测性分析、自动化决策和优化业务流程。 7. **合作伙伴生态系统**:SAP拥有广泛的合作伙伴网络,包括系统集成...
TUM的SAP课程的#Web应用程序项目。用Javascript&SAP UI5和Python&Flask编写。 在这个项目中,我们正在尝试实现基于文档和自然语言处理方法的自动标记等功能。 另一个功能是搜索功能,该功能允许在本地数据库中搜索...
Mode 2则专注于创新,强调敏捷性和速度,它涵盖了最新分析技术、新型数据类型以及像SAP Leonardo这样的解决方案,后者整合了物联网、机器学习和行业特定的应用。 SAP现代数据平台通过集成各种服务和工具,如SAP ...
1. 智能理赔:通过机器学习技术,SAP可以帮助保险公司自动审核和处理理赔申请,减少人工干预,提高效率,降低欺诈风险。 2. 数字化客服:利用聊天机器人和移动应用,保险公司能够提供24/7的客户服务,提升客户体验。...
* SAP Leonardo:提供了人工智能、机器学习和物联网等技术,实现智能制造企业的智能化和自动化。 * SAP Cloud Platform:提供了云计算平台,实现智能制造企业的数字化和网络化。 知识点3:SAP智能制造行业解决方案...
5. 机器学习与人工智能:SAP Leonardo集成了先进的机器学习和人工智能技术,可自动识别模式、预测趋势,甚至进行自主决策。这些功能可以帮助企业实现自动化操作,提升工作效率,并在预测性维护、客户服务等领域创造...