训练MobileNetV3图像分类模型(PyTorch 1.8.1)
本节以OS为openEuler作为示例,通过训练MobileNetV3图像分类模型,验证环境是否可用。
- 以root用户登录服务器。
- 执行如下命令安装git工具,若已安装git工具,可跳过该步骤。
yum install -y git
若出现“ModuleNotFoundError: No module named 'dnf'”报错信息,请参见No module named 'dnf'解决。
- 在服务器任意目录下(如“/home”),执行如下命令获取模型脚本并进入“模型代码目录”。
git clone https://gitee.com/ascend/ModelZoo-PyTorch.git cd ModelZoo-PyTorch/PyTorch/contrib/cv/classification/MobileNetV3_large_100_for_PyTorch
下文中的“模型代码目录”均指“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"
- 安装模型训练依赖。
pip3 install -r requirements.txt pip3 install git+https://github.com/rwightman/pytorch-image-models.git
- 准备数据集,将数据集上传并解压到当前目录。
单击链接,单击“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
该数据集的训练过程脚本只作为一种参考示例。
- 在“模型代码目录”下,执行如下命令运行训练脚本。“--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大小。
- 用户可在模型训练过程中重新打开一个窗口,在“模型代码目录/test/output/0”目录下执行tail -f 日志文件名命令实时查看训练日志。
若训练日志出现如下报错,请参考缺少lzma模块解决。
ModuleNotFoundError: No module named '_lzma'
运行成功后,屏幕会打印模型信息和训练过程信息。
父主题: 运行样例