英特尔® 深度学习 SDK 教程:英特尔® 深度学习 SDK 训练工具入门指南

下载 PDF [PDF 1.85 MB]

修订历史

修订编号描述修订日期
001初始版本。2016 年 10 月
002Beta 版更新。2016 年 12 月

 

目录

1 简介
  
1.1 发布说明
  1.2 安装英特尔® 深度学习 SDK 训练工具
  1.3 英特尔® 深度学习 SDK 训练工具简介
    1.3.1 Home 选项卡
    1.3.2 Uploads 选项卡
    1.3.3 Datasets 选项卡
    1.3.4 Models 选项卡
    1.3.5 Advanced 选项卡
2 上传图像
3 创建一个训练数据集
  3.1 将源图像添加至数据集
  3.2 数据增加
  3.3 处理输入图像数据
    3.3.1 选择图像色度类型
    3.3.2 调整图像大小
  3.4 设置数据库选项
  3.5 生成数据集
4 保存、编辑和检查数据集
5 创建模型
  5.1 分配数据集
  5.2 配置模型拓扑
    5.2.1 创建定制拓扑
注:需要指出的是,对于定制拓扑(以及预先加载拓扑),您可以通过 Parameters 选项卡配置网络解析器。
注:目前无法在定制拓扑上运行模型测试。
  5.3 转换输入图像
  5.4 配置训练参数
  5.5 运行训练程序
6 保存、编辑和检查模型
7 高级特性
  7.1 Jupyter 笔记本电脑* 编辑器
  7.2 使用示例例程
  7.3 使用 Jupyter 笔记本电脑* GUI 编辑器
  7.4 使用 Jupyter 笔记本电脑* 终端控制台
  7.5 NNCompressor 工具
8 其它资源

1 简介

1.1 发布说明

请访问 https://software.intel.com/zh-cn/articles/deep-learning-sdk-release-notes 获取发布说明。

1.2 安装英特尔® 深度学习 SDK 训练工具

如欲获取安装步骤,请查看英特尔® 深度学习 SDK 训练工具 安装指南

1.3 英特尔® 深度学习 SDK 训练工具简介

英特尔® 深度学习 SDK 训练工具是英特尔深度学习 SDK 的一个特性,后者是一套免费工具,支持数据科学家和软件开发人员开发、训练和部署深度学习解决方案。点击此处获取部署工具用户指南。

利用英特尔深度学习 SDK 训练工具,您将:

  • 轻松准备训练数据、设计模型、以及利用自动化实验和高级可视化技术训练模型。
  • 简化面向英特尔平台优化的常用深度学习框架的安装与使用流程。

训练工具是一款在 Linux* 服务器或 Apple macOS* 设备上运行的 web 应用,提供便于用户使用的直观界面,用于创建和训练深度学习模型。

当您打开训练工具并登录后,展现在您面前的是一个工作空间,左侧的蓝色面板上显示了主页和一系列主选项卡。这些选项卡提供一系列特性访问,支持上传源图像,创建训练数据集以及创建和训练您的深度学习模型。

1.3.1 Home 选项卡

利用 Home 选项卡,快速访问安装向导、近期事件和当前活动进程。

  1. 快速链接 (Quick Links) 面板支持上传图像文件、创建数据集和新的模型,或从 Home 选项卡直接获取更多信息。
  2. 主动 (Active) 面板跟踪当前运行进程的状态。面板显示实时模型的完成进度条和指示器。单击该面板的主动进程,将转至显示进程详细信息的概述页面。
  3. 通知 (Notifications) 面板显示关于进程完成程度的通知消息。
  4. 历史 (History) 面板显示最新事件堆栈。
  5. 近期 (Recent) 面板列出最新创建的对象:上传、数据集和模型。单击项目列表,将转至对象概述页面。

1.3.2 Uploads 选项卡

构建和训练模型前,通过 Uploads 选项卡上传图像存档文件,将形成模型训练数据集。如欲获取详细信息,请查看 上传图像主题。

1.3.3 Datasets 选项卡

利用 Datasets 面板,能够基于之前上传的图像创建数据集。数据集不只是一组图像,它是一个特定格式的数据库,按照类别保存所有图像。

创建数据集时,您可以改变图像颜色模式(例如,灰度或 RGB 颜色)、编码格式或将初始图像集与数据增加相乘,如将不同的转换应用于创建修改版本所需的原始图像。全部更改均存储于数据库中,不会影响原始文件。

您可以将整个图像集用于训练、验证和测试(为每个子集分配部分图像),也可以将每个步骤都放置在单独的文件夹中。

如欲获取更多信息,请查看“创建训练数据集”部分。

1.3.4 Models 选项卡

利用该选项卡,在现有的数据集基础上创建并训练您的模型。您可以在模型中应用 3 种预定义拓扑,也可以上传定制拓扑:

在配置模型的过程中,您可以将转换应用于选定数据集中的图像,无需更改原始图像文件。

每个预定义模型已经有了一组适用于普通用途的最佳默认参数值,Models 选项卡支持配置针对特定使用案例的学习过程。

如欲获取更多信息,请查看“创建模型”部分。

1.3.5 Advanced 选项卡

您可以通过 Advanced 选项卡访问嵌入式 Jupyter 笔记本电脑* 工具,后者是一款 web 应用,用于创建能够容纳并运行代码、可视化和文本的文档。该特性能够帮助您在命令行界面 (CLI) 模式下实施面向深度学习模型训练的 Python 脚本。

如欲获取更多信息,请查看“高级特性”章节。

2 上传图像

创建训练数据集前,需要上传用于模型训练的图像。

利用 Uploads 选项卡将输入图像上传为存档文件,该存档文件的结构经过严格地预定义。

需将上传成功的存档文件内的全部图像分成单独的子文件夹,以所需的训练标签/类别命名。例如,用于训练 LeNet 模型的 0-9 位示例存档文件的结构如下所示:

digits.rar/
    0/
        0_01.png
        0_02.png
	   …
    1/
        1_01.png
        1_02.png
	   …
       …
    
    9/
        9_01.png
        9_02.png
	   …

选择位于您电脑或 web 上的存档文件,并指定保存全部提取图像的根目录。

目录路径与 Docker 安装目录相关,是在安装训练工具的过程中指定的。如欲获取安装步骤,请查看安装英特尔® 深度学习 SDK 训练工具

Upload 按钮下方的表格提供了已完成和当前运行上传的相关信息:

3 创建训练数据集

通过 Datasets 选项卡,您将轻松创建训练数据集。首先单击选项卡,面板上将出现 New Dataset 图标和之前保存的数据集列表:

您可以通过名称搜索并查看已保存的数据集,对其进行编辑、重命名和删除,也可以完成它们的生成过程。如欲获取更多信息,请查看保存、编辑和检查数据集

单击 New Dataset 启动向导,开始创建数据集。向导屏幕包含以下元素:

  1. 数据集名称字段 (Dataset Name field) – 设置数据集的名称
  2. 数据集描述字段 (Dataset Description field) – 设置数据集的描述
  3. 数据集管理面板 (Dataset Manage panel) – 在任意步骤保存、运行或删除当前数据集。
  4. 导航面板 (Navigation panel) – 显示当前步骤和数据集创建步骤之间的切换。

向导将创建训练图像数据集的工作流程分为 3 个独立步骤,由向导屏幕中导航条上的选项卡显示:

  1. Data folder 选项卡中定义包含源图像的文件夹以及训练、验证已经其他设置所需的文件数量。
  2. Image Preprocessing 选项卡中对输入图像进行预处理设置。
  3. Database option 选项卡中选择图像数据库选项。

当您需要修改设置时,可以通过 NextBack 按钮切换不同的步骤,也可以直接单击导航条上的选项卡。

如欲终止创建数据集,请单击工具栏右上角的 Delete 按钮。

3.1 将源图像添加至数据集

创建数据集的第一步是设置名称和源文件夹。

Dataset Name 字段中设置数据集名称,以便于在若干数据集中确认特定的数据集。选择一个有意义的名称,当您在创建模型时,才能在数据集列表中快速找到所需的数据集。

如需要,可以在 Description 字段中添加数据集注释。

通过以下两种方法,指定添加至数据集的上传:

  • 利用 Server folder where images were uploaded to 字段指定根文件夹目录,该文件夹保存您之前上传至系统的提取存档文件。如果您还没有完成该步骤,单击 New Upload 按钮创建新的上传,也可以查看“上传图像”部分,进一步了解用于数据集的图像存档文件。
  • 单击箭头按钮 ,从下拉列表中选择一个现有的上传。

您可以在整个训练图像集中定义模型训练每一阶段所需的图像组:

  • 训练– 利用一系列图像示例训练模型。
  • 验证– 用于模型选择和超参数微调。
  • 测试– 用于模型的最终测试。

为了定义验证子集,在 Validation percentage 字段中选择部分图像进行验证。默认值为 10%。

同样地,在验证时您也可以使用单独的文件夹。选择 Use other folder 选项后,可以指定该文件夹。

注:如果您正使用其他文件夹进行验证,各个比例的字段重新设置为零。
类似地,您也可以通过在 Testing percentage 字段中选择比例,定义测试子集。

注:如果您正在使用其他文件夹进行测试,不同比例的字段重新设置为零。

3.2 数据增加

您可以利用训练工具增加功能来扩展您的数据集。利用该工具,您可以通过创建现有图像的备份,以及应用多个转化(如旋转、偏移、缩放、反射),来放大数据集。

或者利用 Max number of transformations per image 字段,轻松指定应用于每张数据集图像的最大转化数量。

您也可以借助“高级”章节,额外定义应用的转化种类、转化参数和权重。此处,权重是指选用的增大类型占已执行增大的比例,以百分比的形式表示。指定权重的越高,选用类型执行的增大越多。所有选用增大类型的权重总和为 100%。

有时,转化会导致部分未定义图像暴露。例如,放大图像后,可能在边界部分产生空白区域。请查看“填充方法”章节,获取填充增大图像空白区域的方法:

  • 常量法 (Constant) - 利用十六进制 RGB 格式颜色代码值填充缺失的像素。
  • 就近填充法 (Nearest) - 利用邻近像素值填充缺失的像素
  • 覆盖法 (Wrap) - 通过平铺图像的方式填充缺失的像素
  • 反射法 (Reflect) – 通过反射某个区域的图像填充缺失的像素

3.3 预处理输入图像数据

您可以利用 Image Processing 选项卡,预处理数据集中的图像。

3.3.1 选择图像色度类型

该工具支持您使用图像的彩色或灰度模式。在 Type 分组中选择所需的选项。

注:如果您选择灰度选项来创建 RGB 格式的彩色图像数据集,工具将自动执行单像素 RGB 转灰度的转化,公式如下所示:
Y = 0.299* 红色 + 0.587* 绿色+ 0.114* 蓝色
此处,Y 表示强度/灰度值。

注:如果您利用 Color 选项来处理灰度图像,算法将强度值用作红色、绿色和蓝色通道值:R = Y, G = Y, B = Y.

3.3.2 调整图像大小

在默认情况下,将尺寸调整为 28x28 像素,但是您可以利用调整尺寸选项,将图像调整为任意尺寸:

  • 挤压 (Squash)
  • 裁切 (Crop)
  • 填充 (Fill)
  • 半裁切、半填充 (Half crop, half fill)

利用上述调整方法,将原始尺寸为 128x174 像素的示例图像调整为 100x100 像素的方型图像,其结果如下表所示。

原始图像,128x174 像素

挤压:通过上采样或下采样像素,利用双三次插值填充新的宽度和长度,转化原始图像,未保持宽高比。

裁切选项:调整图像大小的同时保持了宽高比。首先调整图像的尺寸,使小型图像尺寸适合相应的目标尺寸。然后裁切增大的图像,使两侧的裁切尺寸完全相等,以适合相应的目标。

填充选项:调整图像大小的同时保持了宽高比。首先调整图像的尺寸,使大型图像适合相应的目标尺寸。将调整后的图像裁切为较小尺寸,将等宽的白色 noise 条插入图像两侧,使图像尺寸等于目标尺寸。

半裁切、半填充选项调整图像大小的同时保持了宽高比。首先,利用填充选项重新调整图像大小,然后应用裁切选项。为了分别转化原始图像和目标图像的尺寸 w(宽度)、h(高度)以及 W、H,需要将原始图像的尺寸调整为 W+(w-W)/2 和 H+(h-H)/2。为了实现这一目标,需要先通过填充进行转化,然后利用裁切转化将图像尺寸调整为目标尺寸 W、H

3.4 设置数据库选项

训练工具将全部输入图像存储在一个数据库文件中。通过这个步骤,您可以设置所需的数据库选项,如数据库类型和图像编码。

您可以利用 DB 后端下拉列表选择特定类型的数据库:

  • LMDB
  • LevelDB

如欲获取两种数据库类型的更多信息,请访问 LMDBLevelDB 主页。

如有需要,请在 Image Encoding 下拉列表中选择一种图像编码格式。使用 PNG 或 JPEG 格式将节省磁盘空间,但有可能训练延长时间。

3.5 生成数据集

配置数据集完成后,单击数据集管理面板上的 Run 图标启动数据集生成程序。训练工具打开程序后,显示数据集生成程序的进度条和详细信息:

生成结束后,数据集右侧选项卡列表的状态改为 Complete

如欲获取关于保存数据集和数据集状态的更多信息,请查看“保存、编辑和检查数据集”

4 保存、编辑和检查数据集

单击Dataset 选项卡后,Dataset 面板上显示 New Dataset 图标和之前保存的数据集列表。列表中的数据集状态可能属于以下三种状态之一:草稿 (Draft)就绪 (Ready)已完成 (Completed)

在设置所有必填字段前,可以随时将数据集保存为草稿就绪 状态表明您成功为保存数据集设置了全部必填字段,可以直接生成数据集。已完成状态确定数据集已生成。

如欲查找数据集,在Search 字段中输入数据集的独特名称。

您可以利用右上角的工具栏,重命名、编辑或删除处于草稿状态的数据集

对于就绪状态的数据集,还可以进行 Run 操作:.

如欲查看或编辑处于草稿就绪状态的数据集,从列表中选择数据集,或单击工具栏中的 Edit 图标。

如欲查看已完成数据集的详细信息,请从列表中选择数据集。

Dataset Info 选项卡中,您可以找到创建日期、Docker* 图像数据集所在的物理路径及其尺寸。

Data folder 选项卡包含训练、验证和测试数据集图表,显示每个类别中的图像数量。

Image processing 选项卡显示图像类型、图像尺寸和裁切类型的相关信息。

Database options 选项卡中,您可以查看数据集配置 (LMDB、LevelDB) 类型和压缩类型。

5 创建模型

上传图像以及利用图像生成数据集后,您可以开始创建与训练深度学习模型了。开始创建模型前,选择蓝色垂直面板中的 Models 选项卡。在面板的 Search 文本字段下显示 New Model 图标和之前训练和创建的模型列表。

您可以通过搜索模型名称查看现有的模型,对它们进行重命名、编辑、创建或删除。如欲获取更多信息,请查看“保存、编辑和查看模型”

利用 New Model 图标创建新的模型。单击后,将显示向导屏幕。

  1. 向导屏幕包含以下因素:
  2. 模型名称字段 (Model Name field) – 一个必填字段,用于设置模型名称。
  3. 模型描述字段 (Model description field) – 添加模型操作描述
  4. 模型管理面板 (Model manage panel) – 用于保存、运行训练或在任何步骤删除当前模型

导航面板 (Navigation panel) – 显示当前步骤和模型创建步骤之间的切换

如导航面板所示,新模型创建过程包括 4 个阶段。

  1. 通过 Dataset Selection 选项卡,在生成的数据集列表中选择一个数据集。
  2. 通过 Topology 选项卡选择并调试一个预定义拓扑。
  3. 如需要,通过 Data Transformation 选项卡转化数据集图像。
  4. Parameters 选项卡中配置默认参数,以调试学习过程。

5.1 分配数据集

创建模型的第一个阶段是选择数据集。

该阶段的第一个步骤是创建一个独特的模型名称,并在 Model Name 文本字段中输入该名称。使用有意义的名称将便于您在模型列表中查找该模型。

为了今后能在众多模型中迅速确认该模型,训练工具提供了在 Description 字段中输入模型说明文本的选项。

在任何时候,每个模型都应被连接到特定的数据集。下一步,选择一个为模型提供训练和验证图像的数据集。可以从数据集列表中选择一个数据集,也可以通过名称搜索数据集。单击 Next 进入模型创建的第二个阶段。

5.2 配置模型拓扑

第二个阶段需要配置模型拓扑。

首先在 Topology name 列表中选择一个模型拓扑,该列表提供以下 3 个预加载拓扑:

  1. LeNet
  2. AlexNet
  3. GoogLeNet

针对一般使用条件下的特定拓扑,预先利用最佳训练/验证设置对预加载拓扑进行了配置。但是,您可以通过查看 Fine tune topology 复选框,自定义拓扑,使其满足特定需求。共有两种微调级别 - 轻度和中度 - 您可以根据需要挑选一个级别。您也可以选择不调试原始权重。以下步骤中的配置选项将根据微调选项和微调等级的选择而变化。

如需要,请单击蓝色面板底部的 Back/Next 按钮在 4 个阶段之间切换。

5.2.1 创建定制拓扑

您可以改变普通预加载拓扑的结构,也可以创建新的拓扑。

单击拓扑名称对面的 Edit 按钮,基于现有的拓扑创建一个定制拓扑。

该操作将打开一个包含两个字段的向导:

  1. 查看/修改拓扑 (View/Modify topology) - 包含描述网络拓扑的 .prototxt 文件(如欲查看实例,请访问 https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet.prototxt
  2. 保存为定制拓扑 (Save as custom topology) – 为新拓扑指定一个名称

编辑完成后,保存拓扑,将在定制拓扑列表中显示。

NOTE:请注意,工具验证您所编辑的拓扑结构。只保存有效的拓扑。

现在,您可以使用新创建的定制拓扑,对您的模型进行训练。

注:需要指出的是,对于定制拓扑(和预加载拓扑),您可以利用 Parameters 选项卡配置网络解析器。

注:目前,无法基于定制拓扑运行模型训练。

您也可以通过单击 Delete 按钮删除定制拓扑。

5.3 转化输入图像

第三个步骤支持在图像传输至训练或验证模型前,对图像进行预处理。

您可以将 3 个可选预处理操作添加至训练数据。其中的两个预处理操作 - 裁切和水平镜像,随机应用于所选的训练图像,在某种程度上增加了训练过程的随机性。在对大型数据集进行图像分类过程中,这几类随机预处理被用于改善学习模型的性能,使其能够有效应对训练集中未包含的输入图像偏差。

如果选择了减去平均值,将适用于每一张图像,一共有两个选项:减去平均值图像或像素。

5.4 配置训练参数

在第四步也是最后一步中,针对调试和训练程序配置训练参数(例如超参数)。训练工具中的预加载模型为每一个参数字段指定默认值。在一般使用案例中,这些值是特定模型的最佳参数值。

深度学习模型的典型训练包括数十万个参数(亦称作权重),因此,训练集对模型进行了一次又一次的训练。全部训练数据集的一次完整传输被称作一个 epoch。单个 epoch 结束时,训练数据集中的每张图像都在模型中恰好传输了一次。您可以通过 Training epochs 字段调整 epoch 的数量。这个数字取决于模型拓扑、参数估计算法(解析器类型)、初始学习速度和学习速度衰减曲线、所需的最终准确性以及训练数据集的大小。

在单次 epoch 中,训练数据集的图像划分为不同批次,每次模型利用一个批次进行训练。单个批次的图像全部经过模型后,模型参数得到更新,继续使用下一个批次。这样的一次传递被称作一次迭代。总体来说,较大的批次尺寸会降低参数更新过程的偏差,加快转换速度。然而,在训练过程中,较大的批次尺寸会增加内存使用。

通过指定 Validation interval 值,可以定义在指定 epoch 数量内进行验证的次数。例如,将数值设置为 1,在每次 epoch 结束时进行验证。利用 Validation batch size 值来定义验证图像批次的大小。

训练深度学习模型是一项漫长又复杂的任务,因此,工具定期生成快照,备份正在训练的模块状态和解析器状态。如欲设置备份的频率,请使用 Snapshot intervals 字段。

参数(或权重)估算不仅面向训练数据集优化损失/误差函数,估算的权重还应该将模型应用于不可见的新数据。通过Weight decay 设置可以调整模型的正则项,以避免过适现象。

学习速度决定了更新步骤对当前模型权重值的影响程度。较快的学习速度将极大影响更新,导致极小值周围的振荡或同时失去极小值。基本学习速度是学习过程开始阶段的初始学习速度。

动量项捕获前一个权重更新的方向,有助于帮助减少振荡,降低在本地最小值陷入困难的可能性。动量项在 0 和 1 之间,通常使用较高数值,如 0.9。然而,使用较高的动量项时,应降低学习速度,这点对于避免过度权重更新来说很重要。

您可以从可选类型列表中选择解析器类型,默认的类型是随机梯度下降。

使用高级学习速度选项 进一步指定在训练过程中学习速度的变化。

您可以从以下几种学习速度策略(或曲线)中选择。

步长 (Step size) 决定调整学习速度的频率(在若干次迭代中)。

Gamma 控制每个调整步骤的学习速度变化数量(决定学习速度函数形状)。

通过勾选 Visualize LR 复选框,将以曲线的形式直观显示学习速度。

5.5 运行训练程序

完成模型配置后,通过单击模型管理面板 上的 Run 图标启动模型训练程序。训练工具打开该程序,显示进度条和模型训练时的状态:

训练完成后,模型状态在训练完成列表中更改状态。

如欲获取关于保存模型和模型状态的更多信息,请查看“保存、编辑和检查模型”

6 保存、编辑和检查模型

单击 Models 后,Models 面板将显示 New Model 图标和之前保存的模型列表。该列表中的模型状态可能属于以下三种状态之一:草稿就绪测试完成

设置全部必填字段前,只能将模型保存为草稿就绪状态显示您已为保存的模型成功设置了全部必填字段,模型可随时进行训练。训练完成状态表示模型已经完成了对相关数据集的训练。

通过 Search 字段,利用独特的名称查找模型。

您也可以利用右上角的工具栏,在 Draft state重命名编辑删除模型

对于处于就绪状态的模型,可以额外进行 Run 操作:.

如欲查看或编辑草稿就绪状态的模型,从列表中选择该模型,或单击工具栏中的 Edit 图标。

对于训练完成状态的模型,可以进行重命名复制删除操作:.

如欲查看已完成模型的详细信息,请从列表中选择该模型。选择模型后,将重新定向到 View model 页面。

Information 选项卡中,您可以查找关于训练事件、epoch 次数、训练、验证和测试准确性的数据。选项卡的下方是一个图表,显示错误值、损失和学习速度的动态变化。

如欲下载模型,请访问 Information 选项卡右上方的 Download 链接。单击后,将出现一个浏览器对话框,建议您接受下载存档文件,该文档包含上一次训练 epoch 的模型快照。

Model Analysis 选项卡中,您可以检查面向验证和测试数据集(前提是在配置模型时指定了数据集)的模型分类结果。

单击Show more 按钮打开 Confusion Matrix

如果模型刚开始训练,至少完成一个训练 epoch 后,才能使用混淆矩阵。训练结束后,将在屏幕上方显示具体通知。混淆矩阵包含特定数据集(测试或验证)的一般模型性能信息,还包含命中和未命中数据、准确性、F1 分数等。

Dataset 选项卡中有一个表格,包含来自指定数据集(测试或验证)的图像,以及对每张图像的前 5 个预测。

该表可以滚动,您可以逐一查看每张图像。

Testing 选项卡中,可以利用单个图像测试经过训练的模型。提供输入图像、预览图像并运行测试。完成测试后,您将看到指定图像的前 5 名预测,您可以手动查看模型测试任意图像的正确性。

Details 选项卡显示在训练前指定的模型配置参数的快照。

7 高级特性

7.1 Jupyter 笔记本电脑* 编辑器

作为一项高级特性,训练工具提供了嵌入式 Jupyter 笔记本电脑* 编辑器,支持访问配有 Caffe* 框架的 Docker* 容器,该容器已在电脑上安装。您可以开发和运行您的 Python 脚本,利用训练工具用户界面复制整个工作流程,包括:

  • 上传图像文件
  • 生成数据集
  • 创建和训练深度学习模型。

您可以使用 基于 GUI 的编辑器或 Jupyter 终端CLI 控制台,开发您的个人脚本。

终端还支持访问上传、数据集和模型文件。

如欲获取关于 Jupyter 笔记本电脑的更多信息,请查看快速启动指南

注:需要指出的是,利用 CLI 创建的全部对象(图像上传、数据集和模型)无法在用户界面获取。

单击 Advanced 选项卡后,显示 Jupyter 指示板页面:

在这个页面中,您将找到为您提供的示例笔记本电脑文件,运行 GUI 编辑器或打开终端控制台,创建您的 Python 脚本。

7.2 使用示例例程

共有两个笔记本电脑文件提供关于实施训练过程、执行图像分类的逐步指导。

示例文件包含解释性文本和每个步骤的可执行 Python 代码段。如欲运行某个代码段,选择该代码段并单击工具栏中的 按钮(Shift+Enter)。如欲终止执行代码,单击 按钮(I,I)。

00-classification.ipynb

根据该示例,利用部署于 Caffe* 框架的捆绑式预训练 CaffeNet* 模型浏览图像分类流程。该示例提供了所有必要步骤的详细描述,从加载到利用定制图像测试模型。

01-learning-lenet.ipynb

本示例详细描述了训练示例 LeNet-based 模型的步骤。

7.3 使用 Jupyter 笔记本电脑* GUI 编辑器

你可以利用 Jupyter 笔记本电脑* GUI 创建您的定制 Python 脚本。通过单击 New 按钮打开编辑器,然后从下拉列表中选择 Python 2 项目:

7.4 使用 Jupyter 笔记本电脑* 终端控制台

作为 GUI 编辑器的备选方案,您可以利用终端控制台创建您的 Python 脚本。

单击 New 按钮打开终端,并从下拉列表中选择 Terminal 项目:

除了开发脚本,您还可以通过终端访问所有工作流程对象:上传、数据集和模型文件。

在安装过程中,您已经指定了文件系统路径,该路径可以作为 Docker* 容器(Mount file system path 设置)中的卷安装。在目录内,安装程序创建了保存全部上传、数据集和模型对象的 /dlsdk 目录。该目录和 Docker 环境中的 /workspace/dlsdk 目录相匹配,具有以下结构:

/workspace/dlsdk/
	custom-topologies/
	jobs/
		datasets/
		models/
	notifications/
security/
temp/
uploads/

注:需要指出的是,Jupyter 的默认目录为 /opt/jupyter。这导致 Docker 更新至新版后,文件被删除。为了将文件保存至服务器文件系统,需要将 /workspace/ 目录用作工作目录。

7.5 NNCompressor 工具

英特尔® 深度学习 SDK 训练工具还提供了 NNCompressor 工具,该工具能够显著降低卷积神经网络的复杂性。该工具实施了 低秩近似算法 (LRA),并作为 nncompress Python 模块进行部署,可以在 Jupyter* 终端控制台中使用。

如欲获取关于该工具的更多信息,请查看在发行包内部交付的 NNCompressor-README.html 文件。

8 其它资源

如欲向其他英特尔® 深度学习 SDK 训练工具用户咨询问题并分享信息,请访问英特尔® 深度学习 SDK 论坛

有关编译器优化的更完整信息,请参阅优化通知