参考项目地址:https://github.com/MachineLP/PyTorch_image_classifier
一:数据检查和增删
记住每类数据集不能太少,也不能为空,否则会造成训练数据时的索引出现偏差,每类至少有20张。
二:对每张图片进行重命名
在Resnext-pytorch/process_data/rename.py
先把名字随便改一下
然后再统一改回来
三:数据的上传解压
将整个文件夹放在/data目录下,名字为img
对文件或者文件夹重命名都可以用mv oldname newname
四:图片的检查
把一些空的,出错的图片删除:tools/check.py
五、开始训练
python data/debug.py
查看类别数是否相同
1、生成csv文件 tools/write_csv.py
2、生成训练所需要的格式
python tools/data_preprocess.py --data_dir "./data/data_train.csv" --n_splits 9 --output_dir "./data/train.csv" --random_state 2020
python tools/data_preprocess.py --data_dir "./data/data_test.csv" --n_splits 9 --output_dir "./data/test.csv" --random_state 2020
3、检查下配置文件、参数之后,就可以开始训练了
python train.py
六、模型转换
python tools/pytorch_to_onnx.py
注意模型的存储路径
七、遇到的问题
1、缺少的安装包
pip install geffnet
pip install albumentations
pip install warmup_scheduler
pip install resnest
pip install pretrainedmodels
cp data/resnest101-22405ba7.pth /root/.cache/torch/hub/checkpoints/resnest101-22405ba7.pth
2、opencv版本的问题
AttributeError:module 'cv2' has no attribute '_registerMatType'
pip install opencv_contrib_python
from .cv2 import registerMatType的报错
原因:
opencv-python和opencv-contrib-python版本不一致
pip install opencv-python
确认opencv-python的版本
pip install opencv_contrib_python == 3.4.1.15