单机单卡场景
模型脚本配置
以常见的PyTorch模型,GPU训练为例:
通常模型源码支持GPU单机单卡训练,用户根据模型脚本迁移章节的指导,将模型源码映射至NPU,即可完成模型脚本配置。如果模型源码仅使用了CPU编程,不支持GPU单机单卡训练,用户可使用如下命令,将数据、模型放置NPU上训练:
import torch import torch_npu device = torch.device("npu") # 将数据to npu for data in dataloder: if torch.npu.is_available(): data.to(device) # 将模型to npu model = Model() if torch.npu.is_available(): model.to(device) # 将损失函数to npu loss_fn = nn.CrossEntropyLoss() if torch.npu.is_available(): loss_fn=loss_fn.to(device)
启动脚本配置
执行如下命令启动脚本拉起单机训练(以下参数为举例,用户可根据实际情况自行改动)。
python3 main.py --batch-size 128 \ # 训练批次大小,请尽量设置为处理器核数的倍数以更好的发挥性能 --data_path /home/data/resnet50/imagenet # 数据集路径 --lr 0.1 \ # 学习率 --epochs 90 \ # 训练迭代轮数 --arch resnet50 \ # 模型架构 --world-size 1 \ --rank 0 \ --workers 40 \ # 加载数据进程数 --momentum 0.9 \ # 动量 --weight-decay 1e-4 \ # 权重衰减 --gpu 0 # device号, 这里参数名称仍为gpu, 但迁移完成后实际训练设备已在代码中定义为npu
父主题: 模型脚本与启动脚本配置