数据集选择常用的ISLVRC2012
(ImageNet Large Scale Visual Recognition Challenge)
为了使用Pytorch自带的DataLoader函数进行数据集加载,我们需要将每一个相同类的图片放到相同的文件夹。
训练集只需要解压即可:
mkdir train && mv ILSVRC2012_img_train.tar train/ && cd train
tar -xvf ILSVRC2012_img_train.tar && rm -f ILSVRC2012_img_train.tar
find . -name "*.tar" | while read NAME ; do mkdir -p "${NAME%.tar}"; tar -xvf "${NAME}" -C "${NAME%.tar}"; rm -f "${NAME}"; done
cd ..
但是验证集图片都在一个文件夹,需要重新分类:
mkdir val && mv ILSVRC2012_img_val.tar val/ && cd val && tar -xvf ILSVRC2012_img_val.tar
wget -qO- https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh | bash
之后将训练集和验证集文件夹名称改为 train 、 val
首先去github上找到pytorch的examples,这里面有很多的代码, Training Imagenet Classifiers with Residual Networks 里面的代码就是我们想要使用的。
主要修改的地方就是 创建模型实例时,使用自己的模型创建 就ok啦。
在命令行内输入以下命令就可以训练啦:
python main.py -a resnet101 --dist url 'tcp://127.0.0.1:8001' --dist-backend 'nccl' --world-size 1 --rank 0 /data/dataset/imagenet
注意 :有一些参数要根据自己的需要作出修改,这里给出的是我所训练时的命令。
Comments
😅 Commenting is disabled on this post.