在本项目中,大家会学会使用卷积网络进行kaggle cifar10的图像分类,我们给定一个非常简单的 resnet18 的baseline,大家可以使用任意的网络结构进行训练和测试,通过该项目,我们能够对调参有更好的了解。
打开终端,运行
git clone https://github.com/L1aoXingyu/kaggle-cifar10.git
进行项目的下载或者通过网页版下载
通过比赛界面根据图片中的显示进行数据下载
然后在项目的根目录中创建data
文件夹,将下载好的4个文件放入data
中,接着运行下面的命令来得到预处理之后的数据
sudo apt-get install p7zip
cd data;
p7zip -d train.7z;
p7zip -d test.7z;
cd ..; python3 preprocess.py;
这里可能需要等待比较久的时间
运行下面的代码
python3 train.py --bs=128 --use_gpu=True
就可以进行baseline训练, 其中 bs
表示 batch size, use_gpu
表示是否使用 gpu,还有一些额外的参数,请阅读 train.py
,在训练过程中,会自动创建checkpoints
文件夹,训练的模型会自动保存在checkpoints
中。
训练完成 baseline 之后,我们的模型会保存在 checkpoints
中,我们可以 load 我们想要的模型,进行结果的提交,运行下面的代码
python3 submission.py --model_path='checkpoints/model_best.pth.tar'
我们会在本地创建一个预测的结果 submission.csv
,我们将这个文件提交到 kaggle,可以得到类似下面的比赛结果。