下载
EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

运行样例(PyTorch 1.8.1)

本节以容器OS为Ubuntu作为示例,通过在容器中训练MobileNetV3图像分类模型,验证环境是否可用。

启动容器

  1. 执行如下命令启动容器。
    docker run -itd --shm-size 32G -e ASCEND_VISIBLE_DEVICES=0 ascend-pytorch:6.3.RC1-ubuntu18.04-x64  /bin/bash
    • --shm-size 32G:容器默认共享内存64MB(用户可执行df -h命令查看)不足以支撑该模型训练,因此需要增加容器的共享内存。
    • 该镜像“ascend-pytorch:6.3.RC1-ubuntu18.04-x64”仅为示例,请用户以现场环境制作的镜像替换。
  2. 容器启动后,显示容器ID(本例为“614f758be8bd”)。

    执行如下命令以root用户进入容器。

    docker exec -it -u root 容器ID /bin/bash
    docker exec -it -u root 614f758be8bd /bin/bash

    回显以下信息,表示成功进入该容器。

    root@614f758be8bd:/home/HwHiAiUser#

模型训练

模型训练需要下载相关依赖,请确保容器能够连接网络。

  1. 在容器“/home/HwHiAiUser”目录下,执行如下命令获取模型脚本并进入模型代码所在目录。
    cd /home/HwHiAiUser
    git clone https://gitee.com/ascend/ModelZoo-PyTorch.git
    cd ModelZoo-PyTorch/PyTorch/contrib/cv/classification/MobileNetV3_large_100_for_PyTorch

    如果返回类似以下回显信息:

    fatal: unable to access 'https://gitee.com/ascend/samples.git/': server certificate verification failed. CAfile: none CRLfile: none

    则执行git config --global http.sslVerify "false"命令关闭证书检验,再执行git clone https://gitee.com/ascend/ModelZoo-PyTorch.git命令获取模型代码。

  2. 安装模型训练依赖。
    pip3 install -r requirements.txt
    pip3 install git+https://github.com/rwightman/pytorch-image-models.git

    依赖安装完成后,执行exit命令退出容器。

  3. 准备数据集。
    1. 将数据集上传至服务器任意目录(如“/home”)。

      单击链接,单击“Download”下载Tiny ImageNet小型数据集。若没有账号,请用户自行注册。Tiny ImageNet数据集为ImageNet数据集缩减版,方便用于模型验证。该网站为开源数据集下载地址,请勿用于商业用途。该链接若失效,请用户自行准备好数据集,包含训练集和验证集两部分,可选用的数据集包括ImageNet2012,CIFAR-10等。

      数据集目录结构参考:
      ├── tiny-imagenet-200
      │    ├──train├──类别1──图片1、2、3、4
      │    │         │          
      │    │         ├──类别2──图片1、2、3、4
      │    │                     
      │    ├──val  ├──类别1──图片1、2、3、4
                       │
                       ├──类别2──图片1、2、3、4

      该数据集的训练过程脚本只作为一种参考示例。

    2. 将数据集拷贝至容器(本例为“614f758be8bd”)。
      docker cp /home/archive.zip 614f758be8bd:/home/HwHiAiUser/ModelZoo-PyTorch/PyTorch/contrib/cv/classification/MobileNetV3_large_100_for_PyTorch/archive.zip
    3. 进入容器。
      docker exec -it -u root 614f758be8bd /bin/bash
    4. 执行如下命令,在模型代码所在目录下解压数据集。
      cd /home/HwHiAiUser/ModelZoo-PyTorch/PyTorch/contrib/cv/classification/MobileNetV3_large_100_for_PyTorch
      unzip archive.zip
  4. 运行训练脚本,“--data_path”参数填写数据集路径。
    bash ./test/train_full_1p.sh --data_path=./tiny-imagenet-200
    模型训练脚本参数说明如下:
    • --model mobilenetv3_large_100:使用模型。
    • --opt sgd:优化器。
    • --workers:加载数据进程数。
    • --epoch:重复训练次数。
    • --batch-size:训练批次大小。
    • --lr:初始学习率,默认:1.6。
    • --momentum:动量,默认:0.9。
    • --weight_decay:权重衰减。
    • --amp:是否使用混合精度。
    • --loss-scale:混合精度lossscale大小。
  5. 用户可在模型训练过程中重新打开一个窗口进入容器,执行如下命令实时查看训练日志。
    docker exec -it -u root 614f758be8bd /bin/bash
    cd /home/HwHiAiUser/ModelZoo-PyTorch/PyTorch/contrib/cv/classification/MobileNetV3_large_100_for_PyTorch
    ##  训练日志文件路径在output目录下,日志文件名请用户根据实际情况替换。
    tail -f test/output/0/train_0.log

    如有类似以下回显信息,表示模型正在训练。

    Train: 0 [  50/195 ( 26%)]  Loss:  6.925398 (6.9262)  Time: 0.270s, 1893.09/s  (0.273s, 1877.95/s)  LR: 1.000e-06  Data: 0.001 (0.001) FPS: 1877.954  Batch_Size:512.0
    Train: 0 [ 100/195 ( 52%)]  Loss:  6.921838 (6.9246)  Time: 0.241s, 2121.01/s  (0.272s, 1879.22/s)  LR: 1.000e-06  Data: 0.001 (0.001) FPS: 1879.222  Batch_Size:512.0
    Train: 0 [ 150/195 ( 77%)]  Loss:  6.909921 (6.9221)  Time: 0.210s, 2442.24/s  (0.259s, 1979.25/s)  LR: 1.000e-06  Data: 0.000 (0.001) FPS: 1979.248  Batch_Size:512.0
    Train: 0 [ 194/195 (100%)]  Loss:  6.903288 (6.9199)  Time: 0.210s, 2441.46/s  (0.247s, 2069.97/s)  LR: 1.000e-06  Data: 0.000 (0.000) FPS: 2069.967  Batch_Size:512.0

    若训练日志出现如下报错,请参考缺少lzma模块解决。

    ModuleNotFoundError: No module named '_lzma'

    运行成功后,屏幕会打印模型信息和训练过程信息。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词