当前位置: 首页 > 科技观察

EasyDL专业版Notebook建模功能详解

时间:2023-03-15 22:28:58 科技观察

JupyterNotebook是一款基于Web的交互式计算应用,可应用于计算的全过程:从开发、编写文档,到运行代码、显示结果。简而言之,JupyterNotebook允许开发者直接在网页上编写代码和运行代码,代码的运行结果也会直接显示在代码块下方。直接写在一页纸上,便于及时说明和解释。Notebook灵活简单的交互方式非常适合机器学习的学习和训练,因为机器学习项目往往需要反复的测试和实验,以及编写文档记录调参的过程。您还可以在Notebook中进行代码开发和数据可视化。展示并观察实验数据。综上所述,JupyterNotebook本身具有以下特点:1.具有编程时的语法高亮、缩进、tab补全等功能。2.可以以代码块为单位直接在浏览器中运行代码,实时调试,直接运行输出。显示在代码块下方3.支持Markdown语法编写指令文档4.支持使用LaTeX编写数学指令5.支持数据可视化展示,支持的格式包括HTML、PNG、SVG等。可见,在AI开发过程中,笔记本开发这种方式可以帮助开发者更直观、更轻松地编写代码,提高模型的开发速度。百度大脑EasyDL是一款零门槛的AI开发平台,一站式支持智能标注、模型训练、服务部署等全流程功能,专为企业开发者打造。EasyDL专业版支持高精度AI模型深度开发。为了给开发者提供更易用、更灵活的开发环境,专业版于2020年4月推出Notebook功能,开放JupyterNotebook进行深度学习项目开发。在上下游环节,开发者可以自由使用任何合适的预训练模型进行训练和调参,同时享受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操作界面。2.此时没有项目,我们来创建一个。点击“立即创建”,在弹出的窗口中可以选择任务类型,可以选择单标签或多标签图像分类、物体检测,并完成名称等信息创建。演示中选择了对象检测,后面生成的代码模板会根据选择的模型做相应的调整。3.创建项目后,你会得到一个空模型版本。接下来准备打开Notebook进行操作。这里点击“ConfigureEnvironment”,需要选择PaddlePaddle版本、Python版本、GPU型号。现在默认是GPUV100,限时免费100小时。无论是颜值还是配置都非常出色。4.点击“启动Notebook”,启动大约需要3-5分钟。5、启动成功后,我们可以进入Notebook界面:左侧栏可以查看文件夹、数据集、运行环境和相关设置,右侧显示入口Notebook和一个终端。让我们看一下文件夹。默认保留三个文件夹,都与EasyDL相关服务相关。请不要随意删除。-PretrainedModel文件夹:存放在notebook中训练好的模型,可用于后续在EasyDL中保存和发布模型-data文件夹:存放数据集的目录,初始为空,后面会存放从EasyDL导入的数据这里,具体导入步骤看下一步中的-demo文件夹:存储的预设示例代码,使用入口为demo/train.sh6,然后就可以进入训练链接了。首先,在准备数据时,Notebook开发环境作为EasyDL专业版的一部分,可以与EasyDL专业版共享数据集,直接导入:首先点击左侧导航栏中的【数据集】,然后点击[导入数据集]],会弹出所有专业版上传的数据集,您可以根据需要选择相应的数据集进行导入。选择后,在数据集选项卡下可以看到正在导入选中的数据集,导入时间与数据集大小正相关。7.下一步是运行训练代码。我们可以直接使用示例代码先运行一下。示例代码入口为demo/train.sh,第一个参数为数据集路径,第二个参数为运行路径导出的模型。这里dataset的路径需要修改为实际导入dataset的路径,一般是/home/work/data/${dataset_id},其中dataset_id可以在dataset导入侧边栏看到,也可以直接在后面查看导入成功的数据文件夹。8.数据集路径也可以在Notebook代码中修改,点击Run开始训练模型。这里我使用的是mnist数据集,只是修改了数字在方框内的位置,变成了物体检测的数据集。此时我们可以看到训练任务在[Terminal-1]:9中运行,运行的完成速度与数据量有关。完成后可以看到PretrainedModel文件夹下有这些模型文件:10.大家可以再调模型,但是记得输出的模型需要放在PretrainedModel文件夹下,然后我们发布这个demo模型a)首先需要保存模型,点击最上方的【保存模型】,返回到EasyDL控制台上发布b)首先在弹出的窗口中选择模型框。这里可以选择【GenerateNewVersion】或者【OverwriteExistingUpgradableModel】,选择【GenerateNewVersion】,EasyDL控制台的项目下就会出现一个新的版本。选择【OverwriteExistingUpgradableModel】,即可以覆盖EasyDL控制台显示的旧版本c)然后选择要保存的文件。需要注意的是,这里的几个文件一定要选中,否则会发布失败d)然后选择对应的代码保存:e)最后点击生成,过一会会提示:“版本生成成功”。11、返回EasyDL专业版控制台。由于你在保存的时候选择了【生成新版本】,所以可以看到这里新增了一个版本。V2版本:12,然后点击机型配置,准备发布。这里可以填写模型的相关信息,选择下一步的模型文件,也就是刚才在Notebook页面保存模型时选择的文件:之后可以编辑输入和模型预测期间的输出参数、预处理和后处理代码。比如我想在发布后修改预测接口返回的字段格式。在这里,添加了一个大小字段。您可以参考下图稍作修改,然后点击提交。13、提交后,在专业版的控制台可以看到V2版本的状态为“代码验证”。状态生效后,您可以点击“效果验证”生成demo。14、点击“效果验证”开始模型验证:15、等待几分钟。启动完成后,我们用一张图来测试一下,可以看到识别出来的数字是1(预测的标签是1),而且数字的位置也有标注,模型的效果比较好。16.正式部署结束后,可以看到是否会出现新增的自定义尺寸字段:a)点击正式部署,填写API名称和自定义URL字段b)状态为underreview,并且审核结束后可以调用APIc)审核通过后可以看到服务详情,包括设置的调用URLd)这时候可以尝试调用API。具体的调用鉴权问题可以参考官方文档:https://ai.baidu.com/ai-doc/EASYDL/Dk38n3yck最下面可以看到调用结果中有一个“size”属性:对Notebook开发方式感兴趣的开发者可以按照上述流程在EasyDL专业版上进行Notebook建模。后续EasyDL将在此基础上不断迭代升级,包括在Notebook中提供丰富的预设预训练模型、Notebook代码自动迁移到EasyDL分布式训练集群等功能,为开发者提供更加灵活易用的AI示范发展方式。EasyDL是基于飞桨深度开发平台,为企业开发者打造的零门槛AI开发平台,提供数据处理、模型训练、模型部署的全流程功能。其中,EasyDL专业版是专为专业算法工程师推出的AI模型开发和服务平台。内置百度海量数据训练的预训练模型,可以在少量训练数据上取得更好的训练效果。在模型服务部署方面,EasyDL支持将模型发布为公有云API、设备端SDK、类服务器部署、软硬件一体化方案。企业可根据具体模型应用场景选择合适的部署方式。目前已在零售、工业质检、安全生产、互联网内容安全等多个行业成功落地,帮助企业完成智能化转型,实现降本增效的目标。百度搜索“EasyDL专业版”或直接访问:https://ai.baidu.com/easydl/pro,即刻开始Notebook开发!