项目简介
本项目基于TensorFlow的slim框架,学员可实现DenseNet网络并插入到slim框架中进行图像分类模型训练。使用的数据集有200个分类,共6万张图片,其中5万张为训练集,1万张为验证集,图片已预打包为tfrecord格式。项目支持在本地或TinyMind平台运行,鼓励学员尝试不同参数组合,体验其对训练准确率和收敛速度的影响。
项目的主要特性和功能
- 支持多种模型训练,可使用预训练模型对InceptionV4等进行微调训练,也能从头开始训练DenseNet模型。
- 数据集处理方便,数据集已预打包为tfrecord格式,便于在模型训练中使用。
- 参数设置灵活,可按需调整学习率、优化器、训练批次等参数,体验不同参数对训练结果的影响。
- 训练与验证一体化,提供训练和验证脚本,可分别对训练集和验证集进行验证,还有统一脚本简化操作。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且已安装Python和TensorFlow框架,同时安装了TF - slim图像模型库。
安装TF - slim图像模型库
bash
cd $HOME/workspace
验证安装
bash
cd $HOME/workspace/models/research/slim
python -c "from nets import cifarnet; mynet = cifarnet.cifarnet"
本地运行命令
使用预训练模型进行InceptionV4等的微调
```sh python3 train_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --checkpoint_path=/path/to/inception_v4.ckpt --model_name=inception_v4 --checkpoint_exclude_scopes=InceptionV4/Logits,InceptionV4/AuxLogits/Aux_logits --train_dir=/path/to/train_ckpt --learning_rate=0.001 --optimizer=rmsprop --batch_size=32
python3 eval_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --dataset_split_name=train --model_name=inception_v4 --checkpoint_path=/path/to/train_ckpt --eval_dir=/path/to/train_eval --batch_size=32 --max_num_batches=128
python3 eval_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --dataset_split_name=validation --model_name=inception_v4 --checkpoint_path=/path/to/train_ckpt --eval_dir=/path/to/validation_eval --batch_size=32 --max_num_batches=128
python3 train_eval_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --checkpoint_path=/path/to/inception_v4.ckpt --model_name=inception_v4 --checkpoint_exclude_scopes=InceptionV4/Logits,InceptionV4/AuxLogits/Aux_logits --optimizer=rmsprop --train_dir=/path/to/log/train_ckpt --learning_rate=0.001 --dataset_split_name=validation --eval_dir=/path/to/eval --max_num_batches=128 ```
从头开始训练DenseNet
```sh python3 train_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --model_name=densenet --train_dir=/path/to/train_ckpt_den --learning_rate=0.1 --optimizer=rmsprop --batch_size=16/path/to
python3 eval_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --dataset_split_name=train --model_name=densenet --checkpoint_path=/path/to/train_ckpt_den --eval_dir=/path/to/train_eval_den --batch_size=32 --max_num_batches=128
python3 eval_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --dataset_split_name=validation --model_name=densenet --checkpoint_path=/path/to/train_ckpt_den --eval_dir=/path/to/validation_eval_den --batch_size=32 --max_num_batches=128
python3 train_eval_image_classifier.py --dataset_name=quiz --dataset_dir=/path/to/data --model_name=densenet --checkpoint_exclude_scopes=InceptionV4/Logits,InceptionV4/AuxLogits/Aux_logits --train_dir=/path/to/log/train_ckpt --learning_rate=0.1 --dataset_split_name=validation --eval_dir=/path/to/eval_den --max_num_batches=128 ```
CPU训练
若本地没有显卡,在训练命令或统一脚本上添加--clone_on_cpu=True
参数;在TinyMind上则需新建一个clone_on_cpu
的bool
类型参数并设置为True
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】