0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文了解Intel®Developer Cloud之DL Workbench深度学习工作台

英特尔物联网 来源:英特尔物联网 2023-05-12 09:37 次阅读

文章作者:周兆靖

DL Workbench 深度学习工作台

是 OpenVINO软件栈中非常重量级的一个工具

涉及到的内容和操作比较多

决定还是另起一篇来介绍!

1.概述介绍

如果您对深度学习感兴趣,DL Workbench 提供了更为直观的学习平台:带您了解什么是神经网络,神经网络是如何工作的,以及如何检查它们的架构。您可以在开发产品之前,学习神经网络的分析和优化网络的基础知识,以及熟悉 OpenVINO生态系统及其主要组件。如果您是资深的 AI 工程师,DL Workbench 将为您提供一个方便的 web 界面,以实时优化您的模型并可以为您的产品落地进行加速。

DL Workbench 可以很方便地测量和分析模型性能,同时在实验中调整模型以提高性能,最终分析模型的拓扑结构并产生可视化输出。DL Workbench 的工作流程如下图所示:

1d52eaa2-f005-11ed-90ce-dac502259ad0.png

图1-1 DL Workbench 的工作流程

英特尔提供了两种运行 DL workbench(DLWB)环境。基于本地硬件的 DLWB 环境,访问的算力仅限本地现有的算力资源;基于 IntelDeveloper Cloud 的 DLWB 提供了丰富的算力选项用于模型的横向对比和分析,同时提供了类似本地化的用户操作体验。

IntelDeveloper Cloud 平台上运行 DLWB 方法:

Run DL Workbench in Intel DevCloud

https://docs.openvino.ai/latest/workbench_docs_Workbench_DG_Start_DL_Workbench_in_DevCloud.html

(复制链接到浏览器打开)

本地硬件运行 DLWB 的方法:

Run DL Workbench on Local System

https://docs.openvino.ai/latest/workbench_docs_Workbench_DG_Run_Locally.html

(复制链接到浏览器打开)

接下来我们在 Intel Developer Cloud 平台来运行 DLWB,无需安装,直接运行。

2. 启动DL Workbench

在 Intel Developer Cloud 平台上启动 DL Workbench 的步骤如下:

1打开 Work with Intel Distribution of OpenVINO Toolkit 页面:

https://www.intel.com/content/www/us/en/developer/tools/devcloud/edge/overview.html

(复制链接到浏览器打开)

划到页面下半部分,点击 Deep Learning Workbench:

https://www.intel.com/content/www/us/en/developer/tools/devcloud/edge/build/overview.html

(复制链接到浏览器打开)

1d85c1de-f005-11ed-90ce-dac502259ad0.png

图2-1 DL Workbench启动一

2运行第一个 Cell 里的代码,之后会出现“Start Application”,点击“Start Application”并等待初始化完成,进入点击“Launch DL Workbench”启动 DL Workbench( 以下简称 DLWB):

1db419f8-f005-11ed-90ce-dac502259ad0.png

图2-2 DL Workbench 启动二

3. 使用DL Workbench评估模型性能

DLWB 的主界面如下图所示,点击 “Create Project” 进行模型评估:

1dd92e6e-f005-11ed-90ce-dac502259ad0.png

图3-1 创建 Project

步骤一

模型选择

首先点击“import model”,导入需要评估的模型。Open Model Zoo 是我们提供的一个在线模型库,你可以直接从库中下载需评估的模型,当然,你也可以上传你的本地的模型文件,既可以是 IR 格式,也可以是原生的模型格式:

1dfbf192-f005-11ed-90ce-dac502259ad0.png

图3-2 选择模型

步骤二

设备选择

单击选定模型完成之后,请点击“Select an Environment”,这里可以选定你部署的设备节点,Intel DevCloud 平台的设备都可以进行实验:

1e4f87b2-f005-11ed-90ce-dac502259ad0.png

图3-3 选择设备一

你可以在”Device” 下拉菜单里选择该模型运行在 CPU 上还是集成 GPU 上:

1e71180a-f005-11ed-90ce-dac502259ad0.png

图3-3 选择设备二

步骤三

数据集选择

点击“Next Step”之后进入数据集选择页面,点击“import Dataset”,你可以选择使用 DLWB 提供的图像创建一个数据集,或者通过本地上传已有的数据集,例如 COCO,VOC,ImageNET 等格式的数据集:

1e8854f2-f005-11ed-90ce-dac502259ad0.png

图3-4 选择数据集

步骤四

推理性能测试

点击“Create Project”之后,开始运行推理,等待推理完成之后,可以直观的看到模型的 FPS 指标,以 FPS 值来判断这个模型的性能水平:

1ea5f214-f005-11ed-90ce-dac502259ad0.png

图3-5 推理性能测试

4. DL Workbench 模型调试

4.1模型单层运行时间统计

在模型网络分析板块,DLWB 可以计算出模型中每一层的消耗时间,可以以此进行网络分析,从而决定下一步的优化策略。

1ebfde72-f005-11ed-90ce-dac502259ad0.png

图4-1 模型单层运行时间统计

4.2模型层各精度占比统计

根据这个图表,你可以很直观的看到该模型层中每种精度的占比情况。若你觉得你可以降低 FP32 精度层的占比,你可以根据自己的需求,对高精度层实行量化操作,使其精度下降,并确保模型准确度下降在可接受的范围内,这样可以使得模型推理速度更为快速。

1eedc4b8-f005-11ed-90ce-dac502259ad0.png

图4-2 模型层各精度占比统计

4.3模型网络拓扑展示

这个部分通过直接展示模型的拓扑结构图和模型的层属性,让开发者对此模型能有一个更清晰与直观的认识。

1f0b062c-f005-11ed-90ce-dac502259ad0.png

图4-3 模型网络拓扑展示

4.4模型优化建议

下拉页面,可以看到 DLWB 会自动针对你的模型提供性能提升的建议。比如在这个模型中,它检测到该模型有0%的层运行在 INT8 整型精度上,所以它建议我们对模型进行 INT8 精度校验。

1f33b298-f005-11ed-90ce-dac502259ad0.png

图4-4 DLWB 对模型性能提升的优化建议

4.5校准模型成为 INT8 精度模型

在“Perform”选项中,包含了对于模型优化评估的多种策略。例如,通过校验模型层从 FP32 到 INT8 来优化推理性能:优化步骤会将原本 FP32 精度格式的模型层校准量化成精度为 INT8 的模型层,不用重训练并且可以控制精度下降不超过1%的范围。

1f73533a-f005-11ed-90ce-dac502259ad0.png

图4-5 校准为 INT8 模型层介绍页面

选择默认模式,点击启动优化,即可完成低精度优化:

1fa40e76-f005-11ed-90ce-dac502259ad0.png

图4-6 选择校准为 INT8 模型层的算法

完成以后,你可以在模型主页看到已优化的模型和未优化的模型,可以看到模型推理吞吐量获得了巨大的提升:

1fd28e40-f005-11ed-90ce-dac502259ad0.png

图4-7 精度为 FP32 精度与 INT8 精度模型的性能对比

4.6创建模型准确度报告

在“Perform”标签下,选择“Create Accuracy Report”,点击创建报告,就可以得到当前模型校验当前数据集获得的识别准确度。

1ff88a32-f005-11ed-90ce-dac502259ad0.png

图4-8 创建模型识别准确度报告

当你同时有 FP32 精度模型和 INT8 精度模型时,你可以通过准确度测算报告来获得详细的准确度信息。标注于“Accuracy”一栏中。

201d2d06-f005-11ed-90ce-dac502259ad0.png

图4-9 对比 INT8 模型与 FP32 模型识别准确度与推理性能数据

最终,我们发现同样一个拓扑结构的模型,模型各层主要精度分别为 FP32 和 INT8,实测 FPS 的数据为 FP32 的 135.5FPS,而 INT8 精度的模型高达 450.46FPS,且前提是在准确度下降在百分之一的范围内。说明低精度推理对于模型推理计算的性能提升还是非常可观的。

4.7设置多组推理参数,获取最优推理参数

优化策略中也包含了对于推理参数的组合设定,通过“Group Inference”实现:

2044d45a-f005-11ed-90ce-dac502259ad0.png

图4-10 Group Inference 设置

在此选择你需要测试的多个 Stream 数值,以及 Batch 的数值,组合推理测试结果将会以图表的方式展现,以帮助你找到该模型的在此设备上的最佳推理参数:

206475d0-f005-11ed-90ce-dac502259ad0.png

图4-11 推理测试结果展示

4.8横向/纵向模型性能评估

完成了单个模型的性能评估,可以使用不同的设备对此模型进行多次深入评估。

2084986a-f005-11ed-90ce-dac502259ad0.png

图4-12 横向模型性能对比

由此可知,你可以从横向(精度格式,batch size,steam)对模型进行评估,也可以从纵向(不同的设备,CPU/iGPU)来比较同一个模型的性能水平。当然也可以在相同的机器上选择测试两个不一样的模型来评估两个模型的性能优劣。

20b60a8a-f005-11ed-90ce-dac502259ad0.png

图4-13 纵向模型性能对比

5.总结

DL workbench 工具集成了非常多的功能,方便开发者的调用。由于篇幅的限制,本篇的介绍并不能全部覆盖,仅就 DL workbench 功能做分享。更多功能,请登陆Intel Developer Cloud 平台来尝试吧!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    60

    文章

    9430

    浏览量

    168997
  • 神经网络
    +关注

    关注

    42

    文章

    4576

    浏览量

    98839
  • intel
    +关注

    关注

    19

    文章

    3452

    浏览量

    184791
  • Developer
    +关注

    关注

    0

    文章

    24

    浏览量

    6379
  • 深度学习
    +关注

    关注

    73

    文章

    5240

    浏览量

    119936

原文标题:一文了解Intel® Developer Cloud 之DL Workbench深度学习工作台 | 开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【发烧季第2弹 |开奖啦!】晒晒你的工作台

    `我的工作台上摆满了电脑、调试器、电路板以及烙铁、万用表、硬件、以及咖啡。。很多很多的咖啡;我的桌子上放满了电路板和已经组装和测试了的核电子模块;我的工作台堆电子零部件、参考书、数据手册以及
    发表于 07-05 17:53

    模具工作台检测应用案例

    、需求描述某模具商有种模具设备的工作台,他们想要对该模具工作台进行检测,获取精确数据来比对偏差。之前检测手段十分局限,用卡尺等测量手段,检测精度完全达不到要求,并且结果不直观。为了获取完整的模具
    发表于 08-10 14:18

    使用SPC5 studio作为工作台调试收到警告

    嗨我使用SPC5 studio作为工作台,UDE STK作为调试器。调试时收到以下警告。请帮我配置UDE STK。以上来自于谷歌翻译以下为原文 Hi I am using SPC5 studio
    发表于 09-25 17:13

    如何安装stm32电机控制工作台

    安装了AC6,IAR和MKD。我已经尝试安装电机控制工作台,没有运气。可以从以下链接下载的X-CUBE-MCSDK可执行文件由于某种原因不起作用。http://www.st.com/en
    发表于 10-19 11:20

    ST电机控制工作台欠压故障

    我正在使用带有STEVAL-IFN003V1的ST电机控制工作台,并且我的总线电压读数高于阈值,但即使我在设置中禁用低电压检查,欠压故障指示灯也会持续亮起。问题是什么?此外,是否有任何文档可用于解释
    发表于 02-22 08:31

    电机控制工作台通过串行错误监控

    嗨! 我正在尝试使用STM工作台和我的主板之间的串行通信。 这是个STM32F3 / F4发现板,因此没有LCD接口选项。 我应用所有''SystemDriveParams''文件,并在调试
    发表于 03-14 16:57

    ST电机控制工作台

    ST 电机控制工作台(界面翻译)
    发表于 09-07 06:52

    ST电机控制工作台

    ST 电机控制工作台...
    发表于 09-13 06:42

    工作台生成不完整的源代码怎么处理?

    使用针对 IHM001 的最新 MCSDK Workbench(在 Windows 10 上)和随附的 BR2804 电机:MC 工作台:5.3.2.18569WB_to_Mx
    发表于 01-03 08:49

    电机控制工作台和STM32CubeIDE不工作怎么解决?

    中测试我的电机,它也能正常工作。现在我想使用 MotorControl Workbench 5.4.1 FULL 来生成 STM32CubeIDE 的源代码,但我收到条工具链错误消息。如果我在IDE
    发表于 01-03 09:40

    深度学习是什么?了解深度学习难吗?让你快速了解深度学习的视频讲解

    深度学习是什么?了解深度学习难吗?让你快速了解深度
    发表于 08-23 14:36 16次下载

    关于深度强化学习的概念以及它的工作原理

    深度学习DL是机器学习中一种基于对数据进行表征学习的方法。深度
    发表于 01-30 09:53 5586次阅读
    关于<b class='flag-5'>深度</b>强化<b class='flag-5'>学习</b>的概念以及它的<b class='flag-5'>工作</b>原理

    什么是深度学习(Deep Learning)?深度学习工作原理详解

      本文将带您了解深度学习工作原理与相关案例。 什么是深度学习
    的头像 发表于 04-01 10:34 8983次阅读

    Intel Developer Cloud Telemetry数据分析(一)

    Telemetry(遥测)是指Intel Developer Cloud 帮助开发者收集应用程序执行时开发者指定的信息,并通过 UI 的形式展现的功能,该功能可以被启动或关闭。
    的头像 发表于 06-05 15:57 428次阅读
    <b class='flag-5'>Intel</b> <b class='flag-5'>Developer</b> <b class='flag-5'>Cloud</b> Telemetry数据分析(一)

    Intel Developer Cloud之Telemetry数据分析

    在上一篇文章中介绍了 Intel Developer Cloud Telemetry 的概念和功能,通过该功能的数据分析,可以更好地优化产品方案。有关 Telemetry 的工作原理和
    的头像 发表于 07-07 10:55 340次阅读
    <b class='flag-5'>Intel</b> <b class='flag-5'>Developer</b> <b class='flag-5'>Cloud</b>之Telemetry数据分析