# 30分钟玩转PaddleClas 请事先参考[安装指南](install.md)配置运行环境和克隆PaddleClas代码。 ## 一、数据和模型准备 * 进入PaddleClas目录。 ``` cd path_to_PaddleClas ``` * 进入`dataset/flowers102`目录,下载并解压flowers102数据集. ```shell cd dataset/flowers102 wget https://www.robots.ox.ac.uk/~vgg/data/flowers/102/102flowers.tgz wget https://www.robots.ox.ac.uk/~vgg/data/flowers/102/imagelabels.mat wget https://www.robots.ox.ac.uk/~vgg/data/flowers/102/setid.mat tar -xf 102flowers.tgz ``` * 制作train/val/test标签文件 ```shell python generate_flowers102_list.py jpg train > train_list.txt python generate_flowers102_list.py jpg valid > val_list.txt python generate_flowers102_list.py jpg test > extra_list.txt cat train_list.txt extra_list.txt > train_extra_list.txt ``` **注意**:这里将train_list.txt和extra_list.txt合并成train_extra_list.txt,是为了之后在进行知识蒸馏时,使用更多的数据提升无标签知识蒸馏任务的效果。 * 返回`PaddleClas`根目录 ``` cd ../../ ``` ## 二、环境准备 ### 2.1 设置PYTHONPATH环境变量 ```bash export PYTHONPATH=./:$PYTHONPATH ``` ### 下载预训练模型 通过tools/download.py下载所需要的预训练模型。 ```bash python tools/download.py -a ResNet50_vd -p ./pretrained -d True python tools/download.py -a ResNet50_vd_ssld -p ./pretrained -d True python tools/download.py -a MobileNetV3_large_x1_0 -p ./pretrained -d True ``` 参数说明: + `architecture`(简写 a):模型结构 + `path`(简写 p):下载路径 + `decompress` (简写 d):是否解压 ### 2.2 环境说明 * 下面所有的训练过程均在`单卡V100`机器上运行。 ## 三、模型训练 ### 3.1 零基础训练:不加载预训练模型的训练 * 基于ResNet50_vd模型,训练脚本如下所示。 ```shell export CUDA_VISIBLE_DEVICES=0 python -m paddle.distributed.launch \ --selected_gpus="0" \ tools/train.py \ -c ./configs/quick_start/ResNet50_vd.yaml ``` `Top1 Acc`曲线如下所示,最高准确率为0.2735。