【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发
华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理、算法开发、模型训练、模型管理、部署等,支持图像分类、图像检测、视频分析、语音识别、产品推荐、异常检测等多种AI应用场景。
从技术上看,ModelArts底层支持各种异构计算资源,开发者可以根据需要灵活选择使用,而不需要关心底层的技术。同时,ModelArts支持Tensorflow、MXNet、MindSpore等主流开源的AI开发框架,也支持开发者使用自研的算法框架,匹配用户的使用习惯。
ModelArts架构图
AI开发的基本流程通常可以归纳为6个步骤:确定分析目的、准备数据、开发模型、训练模型、评估模型、部署模型。繁多的AI工具安装配置、数据准备、模型训练慢等是困扰AI工程师的诸多难题。ModelArts为解决这个难题,从数据准备到算法开发、训练模型,最后把模型部署起来,集成到生产环境。一站式完成所有任务。ModelArts的功能总览如下图所示。
ModelArts功能总览图
华为云ModelArts还提供自动学习能力,可根据用户标注数据全自动进行模型设计、参数调优、模型训练、模型压缩和模型部署全流程。无需任何代码编写和模型开发经验,即可利用ModelArts界面操作来构建AI模型应用在实际业务中。
华为云ModelArts除了在云上通过(管理控制台)界面操作外,同时也提供了Python SDK功能,您可以通过SDK在本地IDE,如PyCharm中使用Python访问ModelArts, 包括创建、训练模型,部署服务,更加贴近您的开发习惯。ModelArts服务软件开发工具包(ModelArts SDK)是对ModelArts服务提供的REST API进行的Python封装,以简化用户的开发工作。用户直接调用ModelArts SDK即可轻松管理数据集、启动AI训练以及生成模型并将其部署上线。ModelArts SDK目前提供Python语言的SDK,可以通过下载安装SDK工具包,来通过SDK实现调用ModelArts服务API。
为了快速体验ModelArts SDK的开发方式,华为云最近还提供了基于CloudIDE的ModelArts SDK开发方式,本文将详细介绍如何使用CloudIDE来体验基于ModelArts SDK的AI开发。CloudIDE是面向软件开发者的云端集成开发环境服务,通过浏览器访问即可实现环境获取、代码编写、调试运行、代码入库、环境访问等能力,同时支持插件扩展。
华为云CloudIDE可以提供移动化开发能力,通过浏览器访问云端集成开发环境,无须安装本地软件,无须消耗本地资源,随时、随地、随心。云端开发环境还具备极速的环境获取能力,可以做到按需获取,计算资源和存储资源灵活配置,对开发语言的支持能做到一键配备。凭借华为云CloudIDE,你仅需一个可以上网的浏览器,就可以实现编码、调试、运行你的代码。
(CloudIDE官网链接:https://www.huaweicloud.com/product/cloudide.html)
下面我们详细介绍一下如何使用CloudIDE来体验基于ModelArts SDK的AI开发。基本使用流程如下:创建IDE实例、启动IDE实例、导入样例工程(自动)、配置云端环境(初始化ModelArts SDK)、CloudIDE在线编码、CloudIDE在线调试运行、释放资源。
CloudIDE开发流程图
首先我们进入CloudIDE创建一个实例,
CloudIDE主页
点击‘新建实例’,
创建IDE实例图
输入实例名称,选择‘Python’作为技术栈,点击‘下一步’,进入创建工程界面。
创建工程图
输入工程名称,选择‘ModelArts-sample’作为样例工程,点击‘确定’按钮。
CloudIDE实例起动中
CloudIDE启动完成界面
几次鼠标的轻松点击,一个云端开发环境就已经就绪了,而且还默认包含了一个使用ModelArts SDK的sample项目。
这个sample项目包含了使用文档(README.md),ModelArts SDK的快速配置脚本(setup.py),一个小的数据集(testset),一个通过SDK调用ModelArts的示例训练任务(train_mnist_tf.py),我们可以通过鼠标右键单击‘README.md’->’Open with’->’Preview’的操作来阅读使用文档,如下图:
默认的项目中,包含了一个‘setup.py’脚本,通过运行这个脚本,可以实现快速配置ModelArts SDK开发环境。右键点击‘setup.py’,选择‘Run Python File in Terminal’,只需一步即可完成ModelArts SDK的下载和初始化安装配置。
SDK初始化过程
SDK初始化完成
到这里,ModelArts SDK的开发环境就已经配好了,开发者可以拥有和Visual Studio Code一样的云端编码体验,尽情的享受AI的开发。
这个工程中另外一个文件‘sdk_sample_main.py’,是一个体验通过ModelArts SDK进行训练和部署作业的示例,只需要修改您账号的认证信息,便可迅速进行体验。具体步骤如下,打开“sdk_sample_main.py”文件,转到文件第17行,把根据“readme.md”文件的指引步骤,将在华为云申请的’AK/SK’, ‘project_id’, ‘region_name’信息获取到,然后替换默认的XXX信息。
在‘控制台’- ‘我的凭证’菜单可以找到您的账号对应的AK, SK, project_id和region信息。
我的凭证页面入口
在‘API凭证’页面可以获取到project_id(项目ID),和region_name(项目),在‘访问秘钥’页面可以获取到AK和SDK信息。
获取秘钥信息
sdk_sample_main.py文件中替换认证信息
然后即可通过运行‘sdk_sample_main.py’,来体验如何使用ModelArts SDK进行训练作业(如下图)。
运行默认训练作业
这个作业,我们通过调用ModelArts SDK来实现‘训练作业’,‘创建模型’,‘部署模型成为在线服务’三个步骤,我们可以登录到ModelArts的管理控制台界面查看对应的任务。
通过SDK创建的训练作业
通过SDK创建的模型
通过SDK部署的在线服务
完成SDK开发体验之后,可以通过‘File’-‘Close Instance’来关闭CloudIDE实例。释放资源,这样整个云上使用CloudIDE体验ModelArts SDK开发的流程就完成了。
关闭CloudIDE实例
最后一步是从CloudIDE页面中删除实例,避免存储容量产生费用。
删除CloudIDE实例
到这里,整个流程就体验完成了,稍有基础的同学可以在10分钟通过ModelArts SDK开发的方式上线自己的第一个AI服务,SDK助力开发者提高开发效率,一键式提交训练作业,部署模型服务与测试。使开发者聚焦在算法开发中。同时还体验到了高大上的,按需配置、即时获取、不占用本地资源CloudIDE开发环境。
使用CloudIDE进行ModelArts SDK开发的原理图
华为开发者大会2020(Cloud)将于2020年2月11日-12日在深圳举办,这是华为面向ICT(信息与通信)领域全球开发者的年度顶级旗舰活动。大会旨在搭建一个全球性的交流和实践平台,开放华为30年积累的ICT技术和能力,以“鲲鹏+昇腾”硬核双引擎,为开发者提供澎湃动力,改变世界,变不可能为可能。