研发工程师手把手教你实践Notebook开发方式
May的山楂木 发布于2020-06-12 13:23 浏览:401 回复:6
1
收藏
最后编辑于2020-06-16

Jupyter Notebook是基于网页的用于交互计算的应用程序,可以被应用于全过程计算:开发、文档编写、运行代码和展示结果。Notebook这种交互方式特别适用于机器学习的学习和训练,现在越来越多的厂商提供基于Notebook的产品或者平台,EasyDL专业版也在2020年4月份上线了Notebook功能,该功能具有以下特点:

- 强大的代码编辑灵活性,满足深度自定义的模型自编程需求
- 提供高性能GPU训练资源(V100),并有充分的免费试用额度(目前为100小时)
- 打通EasyDL数据管理模块,支持高效数据导入
- 提供模型多版本管理以及效果对比
- 一键服务部署,并提供API级服务封装

接下来我们通过试过介绍来逐步展现这些特点:

EasyDL专业版Notebook具体使用步骤:

1. 进入notebook操作页面 https://ai.baidu.com/easydl/pro/app/projects/notebook。

若没有登录百度云账号的,会先跳转到登录页面,登录成功后到达EasyDL专业版Notebook操作界面。



2. 这个时候还没有项目,我们来创建一个。点击“马上创建”,会有一个弹窗出来,这里需要选择任务类型是分类单标签/多标签还是物体检测,然后填好其它信息就可以创建啦。这里我选的是物体检测,在后面生成的代码模板会根据选择模型的不同而作出对应调整。


3. 创建项目后,会获得一个空模型版本。接下来要准备打开notebook进行操作了,点击这里的“配置环境”,进来需要选一下paddle的版本,python的版本,以及GPU型号。现在默认都是GPU V100,限时免费,不仅超值,且配置非常优秀。


4. 点击“启动Notebook”,此处可能需要稍等几分钟。
5. 启动成功后,我们即可进入notebook:左边栏可以查看文件夹、数据集、运行环境和相关设置,右边显示了入口的Notebook和一个终端。
我们注意看下文件夹,默认保留了三个文件夹,均与EasyDL的相关服务有关联,请勿随意删除。
-PretrainedModel文件夹: 存放notebook中训练出的模型,可以用于后续在EasyDL中进行模型保存和发布
-data文件夹:存放数据集的目录,初始时候是空的,后面从EasyDL导入的数据会存放在这里,具体导入步骤我们下一步再看
-demo文件夹: 存放的预置的示例代码,使用入口是demo/train.sh
         

6.      接下来就可以进入训练环节。首先,需要准备好数据,Notebook开发环境作为EasyDL专业版的一部分,与EasyDL专业版可共享数据集,可直接进行导入:

-        先点击左侧导航栏的数据集,然后点击导入数据集,就可以选择若干个在专业版中已上传的数据集进行导入

-        此时,在数据集tab下可以查看到选择的数据集正在进行导入

7.      接下来看一下运行训练代码,我们可以直接用示例代码来先跑跑看,示例代码入口是demo/train.sh, 第一个参数是数据集路径,第二个参数是运行导出的模型路径。这里数据集的路径需要我们修改成实际导入的数据集路径,一般是/home/work/data/${dataset_id}, 这里dataset_id可以从数据集导入边栏里看到,也可以在导入成功之后直接查看data文件夹。

  

8.      然后可以Notebook代码中修改数据集路径,点击运行即可开始训练模型。这里我用的是mnist的数据集,但是修改了框出的数字的位置,变成了物体检测的数据集。

 这个时候我们在终端ps看一下,可以看到训练任务正在运行:

9.      运行完成速度与数据量有关,在完成后可以看到在PretrainedModel文件夹下有了这些模型文件:

10.   大家可以对模型再进行调优,不过记住产出的模型都需要放在PretrainedModel文件夹下面,接着我们来发布这个demo模型

a) 要到EasyDL的操作台上进行发布,首先需要对模型进行保存:点击文件→保存模型

b) 首先在弹窗中选择模型框架。

选择生成“新版本”,在EasyDL控制台的项目下就会有个新版本

选择“覆盖现有可升级模型”,就会覆盖EasyDL操作台显示的旧版本

c) 然后选择要保存的文件:注意这里选择的几个文件都是必须选中的,否则会导致发布失败!

d) 然后选择对应的代码进行保存:

e)最后点击生成,稍等后就会收到提示:“版本生成成功”!

11.   然后我们回到EasyDL专业版的操作台,由于保存的时候选的是生成新版本,这里可以比开始多了一个V2版本:

12.   然后点击模型配置,准备发布。这里可以填写模型的相关信息,然后选择模型文件,也就是刚才在Notebook页面保存模型时选择的文件:

之后可以对出入参、模型预测时的预处理及后处理代码进行编辑。比如我想修改发布后预测接口返回字段的格式,这里加了个size字段,可以参考下图稍做改动,点击提交。

13.   提交之后,在专业版的操作台,可以看到V2版本的状态处于“代码验证中”,稍等状态变成有效之后,可以点击“效果校验”,生成demo。

14.   点击“效果校验”,启动模型校验:

15.   稍等几分钟,启动完成之后,我们用一张图来测试下,可以看到识别出了数字是1(预测标签为1),而且标注出了数字的位置,模型的效果较好。

16.   最后进行正式部署,看看新添加自定义size字段是不是会出现:

   a) 点击正式部署,填写API名称和自定义URL字段

   b) 然后就会到审核中的状态了,在审核结束后即可进行API调用

   c) 审核通过了,可以看到服务详情,里面有我们设置的调用的URL

   d) 此时可以尝试调用API,具体的调用鉴权问题,可以参考官方文档:https://ai.baidu.com/ai-doc/EASYDL/Dk38n3yck

    在下方,可以看到调用结果中有"size"属性了:

    

以上为EasyDL Notebook建模功能完整使用流程介绍,后续EasyDL还会在这个基础上不断进行迭代升级,包括在Notebook中提供丰富的预置预训练模型、Notebook代码自动迁移至EasyDL分布式训练集群等功能,为开发者提供更加灵活易用的AI模型开发方式。

EasyDL是基于飞桨深度开发平台为企业级开发者打造的零门槛AI开发平台,提供数据处理、模型训练、模型部署全流程功能。其中,EasyDL专业版支持开发者深度开发高精度AI模型,全面支持飞桨Master模式,内置百度海量数据训练的预训练模型,可以在少量训练数据上达到更优的训练效果。

立即尝试EasyDL专业版:https://ai.baidu.com/easydl/pro

收藏
点赞
1
个赞
共6条回复 最后由才能我浪费99回复于2020-06-16 11:16
#7才能我浪费99回复于2020-06-16 11:16:29
#6 rose20135188回复
讲得很详细,跟着学习。谢谢楼主。

是啊,非常的不错

0
#6rose20135188回复于2020-06-16 09:19:10

讲得很详细,跟着学习。谢谢楼主。

0
#5才能我浪费99回复于2020-06-15 11:16:00

Notebook用起来非常实用

0
#4才能我浪费99回复于2020-06-15 11:13:40

讲的很详细

0
#3何必固執回复于2020-06-15 08:55:51

可以的   相当详细

0
#2wangwei8638回复于2020-06-12 18:06:44

收藏

0
TOP
切换版块