先决条件

  • 拥有Det平台的账号。
  • 本机已安装Det CLI,已配置DET_MASTER(Windows无法配置,在指令中加-m实现)。

    准备

    在此指南中,我们将为 MNIST 数据集构建一个图像分类模型。
    首先在这里下载示例代码,解压并进入目录,Linux命令如下:

    1. wget http://10.102.32.201:30000/docs/_downloads/61c6df286ba829cb9730a0407275ce50/mnist_pytorch.tgz
    2. tar xzvf mnist_pytorch.tgz
    3. cd mnist_pytorch

    目录应包含以下文件:

    1. ├── mnist_pytorch
    2. ├── adaptive.yaml
    3. ├── const.yaml
    4. ├── data.py
    5. ├── distributed.yaml
    6. ├── layers.py
    7. ├── model_def.py

    目录下.yaml文件均为实验配置文件,用于指定数据集位置、超参数等数值。以下是三种训练的示例配置:

  • const.yaml:在单个GPU或CPU上训练单个模型。

  • distributed.yaml:使用多个GPU(分布式培训)训练单个模型。
  • adaptive.yaml:训练多个模型用于自动调参(使用Det的自适应超参数搜索功能)。

一次实验只能指定一个配置文件。

运行

首先在固定batch、单模型、恒定超参数、默认数量的GPU(1个)下训练。

# 格式为 det exp create <config> <folder>
det experiment create const.yaml .
# 或指定master机
det -m 10.102.32.200:30000 experiment create const.yaml .

然后在多GPU下训练。yaml文件中resources.slots_per_trial参数指定了使用的GPU数量,不要超过单台机器的最大数量(10个)。提交程序运行:

det experiment create distributed.yaml .
# 或
det -m 10.102.32.200:30000 experiment create distributed.yaml .

然后运行调参训练。

det experiment create adaptive.yaml .
# 或
det -m 10.102.32.200:30000 experiment create adaptive.yaml .

可以在TensorBoard查看训练情况,已自动集成。