文档
注册

NPU训练环境准备

完成MindX DL的安装后,可使用yaml下发一个训练任务,检测系统是否可以正常运行。

获取训练镜像

可选择以下方式中的一种来获取训练镜像:

  • (推荐)从昇腾镜像仓库根据系统架构(ARM/X86)下载训练基础镜像(如:ascend-tensorflow)。基于训练基础镜像进行修改,将容器中默认用户修改为root(21.0.4版本之后训练基础镜像默认用户为非root)。基础镜像中不包含训练脚本、代码等文件,训练时通常使用挂载的方式将训练脚本、代码等文件映射到容器内。
  • 从头开始定制用户自己的训练镜像,制作过程请参考使用Dockerfile构建容器镜像(TensorFlow)

可将下载/制作的训练基础镜像重命名,如:tf_arm64:b030。

(推荐)加固镜像

可参考容器镜像安全加固

获取训练脚本

登录ModelZoo,下载TensorFlow框架的“ResNet-50”模型脚本。

准备数据集

  1. 请用户自行准备ResNet-50对应的数据集,使用时请遵守对应规范。
  2. 管理员用户上传数据集到存储节点。
    1. 进入“/data/atlas_dls/public”目录,将数据集上传到任意位置,如“/data/atlas_dls/public/dataset/resnet50/imagenet_TF”。
      root@ubuntu:/data/atlas_dls/public/dataset/resnet50/imagenet_TF# pwd
      /data/atlas_dls/public/dataset/resnet50/imagenet_TF
    2. 执行du -sh命令,查看数据集大小。
      root@ubuntu:/data/atlas_dls/public/dataset/resnet50/imagenet_TF# du -sh
      144G

修改训练脚本

  1. 获取脚本文件。
    1. 获取训练脚本中下载的脚本解压到本地。
    2. 将解压后的文件夹拷贝到“/data/atlas_dls/code/ResNet50_for_TensorFlow_1.7_code”目录。
    3. 进入“MindXDL-deploy”仓库,选择“3.0.RC3”分支。获取“samples/train”目录中的“train_start.sh”,“utils.sh”“rank_table.sh”文件,结合1.b,在host上构造成如下的目录结构。
      /data/atlas_dls/code/ResNet50_for_TensorFlow_1.7_code
      ├── scripts
      │   ├──  train_start.sh
      │   ├──  utils.sh
      │   ├──  rank_table.sh
      │    ...
      │        ...
      ├──  EnvPerformCheck(文件夹)
      ├──  infer
      ├──  on_platform
      ├──  src
      ├──  test
       ...
      └──  configs
      
  2. 修改“/data/atlas_dls/code/ResNet50_for_TensorFlow_1.7_code/src/mains/res50.py”文件,增加如下内容
    ...
        config['model_dir'] = FLAGS.model_dir
        
        config['over_dump'] = FLAGS.over_dump
        config['over_dump_path'] = FLAGS.over_dump_path
        # 如果没有则增加以下两行代码,注意使用空格作为缩进并对齐
        config['data_url'] = FLAGS.data_path 
        print("data_url           :%s" %(config['data_url']))
        print("iterations_per_loop:%d" %(config['iterations_per_loop']))
    ...
  3. 训练任务yaml示例中“config_file”为训练脚本的参数,它的值表示配置文件的名字,如“--config_file=res50_256bs_8p”表示训练脚本使用的配置文件是“res50_256bs_8p.py”
    • Atlas 800 训练服务器,训练yaml示例为单机8卡任务,“config_file”参数的值默认为res50_256bs_8p,对应配置文件为“res50_256bs_8p.py”。文件配置参考如下。
      ...
              'rank_size': 8,                            # 训练任务实际使用的芯片总个数
              'shard': True,                             # 多卡需要配置为True
      ...
              'num_epochs': None,
      ...
    • 服务器(插Atlas 300T 训练卡),训练yaml示例为单机单卡任务,“config_file”参数的值默认为res50_256bs_1p,对应配置文件为“res50_256bs_1p.py”。文件配置参考如下。
      ...
              'rank_size': 1,                            # 训练任务实际使用的芯片总个数
              'shard': False,                            # 单卡需要配置为False
      ...
              'num_epochs': None,
      ...
搜索结果
找到“0”个结果

当前产品无相关内容

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