AI开发平台MODELARTS-Open-Clip基于DevServer适配PyTorch NPU训练指导:Step6 训练Open clip模型
Step6 训练Open clip模型
- 适配昇腾代码。
在目录/home/ma-user/open_clip/src/training下,修改main.py文件,在第10行添加如下代码。
import torch_npu from torch_npu.contrib import transfer_to_npu
同样,修改train.py文件,在第11行添加如上代码,如图1所示。
- 单卡训练。
cd /home/ma-user/open_clip python -m training.main \ --save-frequency 1 \ --zeroshot-frequency 1 \ --report-to tensorboard \ --train-data '/home/ma-user/open_clip/mscoco/{00000..00059}.tar' \ --train-num-samples 102400 \ --dataset-type webdataset \ --warmup 10000 \ --batch-size=256 \ --lr=1e-3 \ --wd=0.1 \ --epochs=30 \ --workers=8 \ --model ViT-B-32
参数说明:
- save-frequency:指定运行多少个epoch就保存模型参数,可以调大。
- report-to tensorboard:指定输出loss指标到tensorboard,一般需要做精度评估才需要带上。
- train-num-samples:指定每个epoch需要训练的样本个数,不超过总样本个数。
- batch-size:指定一次处理的数据batch。
- epochs:指定训练的epoch个数。
训练结束后,模型输出目录为:
/home/ma-user/open_clip/logs/xxx-model_ViT-B-32-lr_0.001-b_32-j_8-p_amp/checkpoints
- 多卡训练
cd /home/ma-user/open_clip/src torchrun --nproc_per_node 4 -m training.main \ --save-frequency 1 \ --zeroshot-frequency 1 \ --report-to tensorboard \ --train-data '/home/ma-user/open_clip/mscoco/{00000..00059}.tar' \ --train-num-samples 102400 \ --dataset-type webdataset \ --warmup 10000 \ --batch-size=256 \ --lr=1e-3 \ --wd=0.1 \ --epochs=30 \ --workers=8 \ --model ViT-B-32