想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用

Jupyter Notebook是基于网页的用于交互计算的应用程序,可以被应用于全过程计算:从开发、文档编写、到运行代码和展示结果。简而言之,Jupyter Notebook可以让开发者直接在网页页面中编写代码和运行代码,代码的运行结果也会直接在代码块下显示,同时如果在编程过程中需要编写说明文档,也可以在同一个页面中直接编写,便于作及时的说明和解释。Notebook这种灵活简便的交互方式十分适用于机器学习的学习和训练,因为机器学习项目往往需要反复测试和实验,以及编写文档记录调参的过程,还可以在Notebook中进行数据可视化的代码开发和展现,观察实验数据。总结来说,Jupyter Notetook本身具有以下特点:

  1. 编程时具有语法高亮、缩进、tab补全的功能
  2. 可直接在浏览器中以代码块为单位运行代码,实时调试,运行输出直接显示在代码块下方
  3. 支持Markdown语法编写说明文档
  4. 支持使用LaTeX编写数学性说明
  5. 支持数据可视化的展现,支持的格式包括 HTML, PNG, SVG等

可见,在AI开发过程中,Notebook开发方式可以帮助开发者更直观、简便地进行代码编写,提升模型的开发速度。百度大脑EasyDL零门槛AI开发平台,一站式支持智能标注、模型训练、服务部署等全流程功能,面向为企业开发者打造。EasyDL专业版支持深度开发高精度AI模型,为了向开发者们提供更易用、更灵活的开发环境,专业版在2020年4月份上线了Notebook功能,打通了 Jupyter Notebook在进行深度学习项目开发时的上下游环节,开发者在享受EasyDL一站式深度学习模型开发流程的同时,又能自由地使用任意合适的预训练模型进行训练和调参。具体来说,EasyDL专业版中的Notebook具有以下特点:

  1. 打通了EasyDL数据管理模块,支持直接使用EasyDL中的数据集进行训练,无须重复上传
  2. 强大的代码编辑灵活性,完全自定义的模型训练环境,不受限于EasyDL脚本调参中内置的模型,从而满足深度自定义的模型自编程需求
  3. 提供高性能GPU训练资源(V100),并有充分的免费试用额度(目前为100小时)
  4. 在EasyDL操作台中提供Notebook产出的模型多版本管理以及效果对比
  5. 提供一键服务部署,可进行临时效果校验和生产环境API级服务封装

接下来我们通过使用流程介绍来逐步展现这些特点:

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

  1. 首先,可以通过以下网址进入Notebook操作页面: https://ai.baidu.com/easydl/pro/app/projects/notebook/
    若没有登录百度云账号的,会先跳转到登录页面,登录成功后到达EasyDL专业版Notebook操作界面。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第1张图片

  2. 这个时候还没有项目,我们来创建一个。点击“马上创建”,可以在弹窗中选择任务类型,可选择图像分类的单标签或多标签、物体检测,完成名称等信息的填写后即可创建。
    展示中选择的是物体检测,在后面生成的代码模板会根据选择模型的不同而作出对应调整。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第2张图片

  3. 创建项目后,会获得一个空模型版本。接下来要准备打开Notebook进行操作了,点击这里的“配置环境”,进来需要选一下PaddlePaddle版本、Python版本、以及GPU型号。现在默认都是GPU V100,限时100小时免费,无论从价值还是配置,都非常优秀。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第3张图片

  4. 点击“启动Notebook”,启动时常约3-5分钟。

  5. 启动成功后,我们即可进入Notebook界面:左边栏可以查看文件夹、数据集、运行环境和相关设置,右侧显示了入口的Notebook和一个终端。
    我们注意看下文件夹,默认保留了三个文件夹,均与EasyDL的相关服务有关联,请勿随意删除
    -PretrainedModel文件夹: 存放notebook中训练出的模型,可以用于后续在EasyDL中进行模型保存和发布
    -data文件夹:存放数据集的目录,初始时候是空的,后面从EasyDL导入的数据会存放在这里,具体导入步骤我们下一步再看
    -demo文件夹: 存放的预置的示例代码,使用入口是demo/train.sh
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第4张图片

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

  • 先点击左侧导航栏中的【数据集】,进入后点击【导入数据集】,会弹出所有已经在专业版上已经上传的数据集,可根据需要选择相应数据集进行导入。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第5张图片
  • 选择后,在数据集tab下即可查看到选择的数据集正在进行导入,导入时长与数据集大小正相关。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第6张图片
  1. 下一步来到运行训练代码,我们可以直接用示例代码来先跑跑看,示例代码入口是demo/train.sh, 第一个参数是数据集路径,第二个参数是运行导出的模型路径。这里数据集的路径需要我们修改成实际导入的数据集路径,一般是/home/work/data/${dataset_id}, 这里dataset_id可以从数据集导入边栏里看到,也可以在导入成功之后直接查看data文件夹。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第7张图片

  2. 数据集路径也可以在Notebook代码中进行修改,点击运行即可开始训练模型。这里我用的是mnist的数据集,但是修改了框出的数字的位置,变成了物体检测的数据集。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第8张图片
    此时,我们在【终端-1】中,可以看到训练任务正在运行:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第9张图片

  3. 运行完成速度与数据量有关,在完成后可以看到在PretrainedModel文件夹下有了这些模型文件:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第10张图片

  4. 大家可以对模型再进行调优,不过记住产出的模型都需要放在PretrainedModel文件夹下面,接着我们来发布这个demo模型
    a) 首先需要对模型进行保存,点击上方的【保存模型】,会回到EasyDL的操作台上进行发布
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第11张图片
    b) 首先在弹窗中选择模型框架。此处可以选择【生成新版本】或是【覆盖现有可升级模型】
    选择【生成新版本】即可在EasyDL控制台的项目下就会出现一个新版本
    选择【覆盖现有可升级模型】即可覆盖EasyDL操作台显示的旧版本
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第12张图片
    c) 然后选择要保存的文件,需要注意的是,此处的几个文件都必须选中,否则会导致发布失败
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第13张图片
    d) 然后选择对应的代码进行保存:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第14张图片
    e)最后点击生成,稍等后就会收到提示:“版本生成成功”

  5. 回到EasyDL专业版的操作台,由于保存的时候选择了【生成新版本】,可以看到此处已经增加了新建的V2版本:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第15张图片

  6. 然后点击模型配置,准备发布。此处,可以填写模型的相关信息,下一步选择模型文件,也就是刚才在Notebook页面保存模型时选择的文件:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第16张图片
    之后可以对出入参、模型预测时的预处理及后处理代码进行编辑。例如,我想修改发布后预测接口返回字段的格式,这里加了个size字段,可以参考下图稍做改动,点击提交。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第17张图片

  7. 提交之后,在专业版的操作台,可以看到V2版本的状态处于“代码验证中”,稍等状态变成有效之后,可以点击“效果校验”,生成demo。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第18张图片

  8. 点击“效果校验”,启动模型校验:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第19张图片

  9. 稍等几分钟,启动完成之后,我们用一张图来测试下,可以看到识别出了数字是1(预测标签为1),而且标注出了数字的位置,模型的效果较好。
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第20张图片

  10. 最后进行正式部署,可以看看新添加自定义size字段是否会出现:
    a) 点击正式部署,填写API名称和自定义URL字段
    b) 状态进入审核中,审核结束后即可进行API调用
    在这里插入图片描述
    c) 审核通过后,可以看到服务详情,包含设置的调用URL
    在这里插入图片描述
    d) 此时可以尝试调用API,具体的调用鉴权问题,可以参考官方文档:https://ai.baidu.com/ai-doc/EASYDL/Dk38n3yck
    在下方,可以看到调用结果中有"size"属性了:
    想要更灵活的开发方式?送你100小时百度大脑Notebook额度任你用_第21张图片

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

EasyDL是基于飞桨深度开发平台为企业级开发者打造的零门槛AI开发平台,提供数据处理、模型训练、模型部署全流程功能。其中,EasyDL专业版是面向专业算法工程师群体,专门推出的AI模型开发与服务平台,内置了百度海量数据训练的预训练模型,可以在少量训练数据上达到更优的训练效果。在模型的服务部署方面,EasyDL支持将模型发布为公有云API、设备端SDK、似有服务器部署和软硬一体方案部署,企业可以根据具体的模型应用场景选择适应的部署方式。目前,已经在零售、工业质检、安全生产、互联网内容安全等多个行业成功落地,帮助企业完成智能化转型,达成降本增效的目标。

百度搜索“EasyDL专业版”或直接访问:https://ai.baidu.com/easydl/pro,立即上手Notebook开发!

你可能感兴趣的:(百度大脑,easyDL,notebook)