resnet50模型训练imagenet数据集

准备数据集

基础准备参考:

https://raychiu.blog.csdn.net/article/details/126870264

二次解压

train训练集接下后里边还是压缩文件,需要再次解压,unzip.sh脚本:

dir=./train 
for x in `ls $dir/*tar` 
  do     
    filename=`basename $x .tar`     
    mkdir $dir/$filename     
    tar -xvf $x -C $dir/$filename 
done 
rm *.tar

处理验证集

对于训练集,不同类别的数据躺在不同的文件夹里,用起来很方便(同一文件夹的视为一类)。但是验证集没有对应的标签,需要额外处理。
验证集的标签在 Development kit (文件名为 ILSVRC2012_devkit_t12.tar.gz)中的ILSVRC2012_devkit_t12\data\ILSVRC2012_validation_ground_truth.txt 中。
这个数字和文件夹的名字虽然是一一对应的,但还是需要额外的映射……好在映射关系储存在和txt文件同目录下的 meta.mat 文件中。我们希望验证集的文件结构长得和训练集一样,即 :
resnet50模型训练imagenet数据集_第1张图片
先下载并解压:

tar -xvf ILSVRC2012_devkit_t12.tar

训练

下载pytoch代码:

https://github.com/pytorch/vision.git

最新的版本会报一些问题我们切换一下tag,匹配一下自己的环境,先看我的conda中的版本:
在这里插入图片描述
torchvision是0.92,看下代码的tag历史,命令是

git tag

显示:


v0.9.0
v0.9.0-rc1
v0.9.0-rc2
v0.9.0-rc3
v0.9.1
v0.9.1-rc1
v0.9.1-rc2
v0.9.2
v0.9.2-rc1
v0.9.2-rc2

我们选择v0.9.2:

git checkout -b v0.9.2 v0.9.2

如此可以用准备好的数据集训练了:

python  train.py --model resnet50 --epochs 100 --data-path "~/data/datasets/imagenet2012"

resnet50模型训练imagenet数据集_第2张图片

你可能感兴趣的:(深度学习,python,开发语言)