参数 |
参数说明 |
---|---|
PyTorch Version |
待迁移脚本的PyTorch版本。目前支持1.5.0和1.8.1。必选。默认为1.5.0。 |
Input Path |
待迁移的原始脚本文件所在目录。单击文件夹图标选择目录。必选。 |
Output Path |
脚本迁移结果文件输出路径。单击文件夹图标选择目录。必选。 不开启迁移至多卡脚本功能场景下,输出目录名为xxx_msft;开启迁移至多卡脚本功能场景下,输出目录名为xxx_msft_multi,xxx为原始脚本所在文件夹名称。 |
Custom Rule |
打开自定义迁移规则。开启该参数,将展示“Rule File”参数。可选。 |
Rule File |
“Custom Rule”开启后此参数才会体现。单击文件夹图标选择用户自定义通用迁移规则的json文件路径。该json文件主要包括函数参数修改、函数名称修改和模块名称修改三部分。自定义迁移规则json文件的编写请参见自定义迁移规则样例。必选。 |
Distributed Rule |
将GPU单卡脚本迁移为NPU多卡脚本,此参数仅支持使用torch.utils.data.DataLoader方式加载数据的场景。可选。 |
Main File |
"Distributed Rule"开启后此参数才会体现。单击文件夹图标选择训练脚本的入口Python文件。必选。 |
Target Model |
"Distributed Rule"开启后此参数才会体现。目标模型变量名,默认为“model”,可选。 当同时使用"Amp Transplant"时,两个Target Model需保持一致。 |
Replace Unsupported APIs |
开启此参数,将用功能相似的API替换以下不支持的API,但有可能导致准确性和性能下降。
|
Amp Transplant |
"PyTorch Version"选择1.5.0时此参数才会体现。开启此参数,可将torch.cuda.amp混合精度训练脚本迁移为apex.amp混合精度训练脚本。可选。
说明:
|
Target Model |
"Amp Transplant"开启后此参数才会体现。输入模型名称。默认为“model”。可选。 当同时使用“Distributed Rule”时,两个Target Model需保持一致。 |
完成后,Output Path输出目录下查看结果文件。
├── xxx_msft/xxx_msft_multi // 脚本迁移结果输出目录 │ ├── 生成脚本文件 // 与迁移前的脚本文件目录结构一致。 │ ├── msFmkTranspltlog.txt // 脚本迁移过程日志文件,日志文件限制大小为1M,若超过限制将分多个文件进行存储,最多不会超过10个。 │ ├── unsupported_op.csv // 不支持算子列表文件。 │ ├── change_list.csv // 修改记录文件。 │ ├── run_distributed_npu.sh // 多卡启动shell脚本。 │ ├── ascend_function // 如果启用了Replace Unsupported APIs参数,会生成该包含等价算子的目录。
export MASTER_ADDR=127.0.0.1 export MASTER_PORT=63350 export HCCL_WHITELIST_DISABLE=1 NPUS=($(seq 0 7)) export RANK_SIZE=${#NPUS[@]} rank=0 for i in ${NPUS[@]} do export DEVICE_ID=${i} export RANK_ID=${rank} echo run process ${rank} please input your shell script here > output_npu_${i}.log 2>&1 & let rank++ done
参数 |
说明 |
---|---|
MASTER_ADDR |
指定训练服务器的ip。 |
MASTER_PORT |
指定训练服务器的端口号。 |
HCCL_WHITELIST_DISABLE |
hccl后端环境。 |
NPUS |
指定在特定NPU上运行。 |
RANK_SIZE |
昇腾AI处理器的数量。 |
DEVICE_ID |
昇腾AI处理器的物理编号。 |
RANK_ID |
指定调用昇腾AI处理器的逻辑ID。 |
在执行迁移后的模型之前需要把run_distributed_npu.sh文件中的“please input your shell script here”语句替换成模型原来的训练shell脚本。执行run_distributed_npu.sh文件后会生成指定NPU的log日志。