littlebot
Published on 2025-04-14 / 5 Visits
0

【源码】基于TensorFlow和slim框架的图像分类模型训练项目

项目简介

本项目基于TensorFlow的slim框架,学员可实现DenseNet网络并插入到slim框架中进行图像分类模型训练。使用的数据集有200个分类,共6万张图片,其中5万张为训练集,1万张为验证集,图片已预打包为tfrecord格式。项目支持在本地或TinyMind平台运行,鼓励学员尝试不同参数组合,体验其对训练准确率和收敛速度的影响。

项目的主要特性和功能

  1. 支持多种模型训练,可使用预训练模型对InceptionV4等进行微调训练,也能从头开始训练DenseNet模型。
  2. 数据集处理方便,数据集已预打包为tfrecord格式,便于在模型训练中使用。
  3. 参数设置灵活,可按需调整学习率、优化器、训练批次等参数,体验不同参数对训练结果的影响。
  4. 训练与验证一体化,提供训练和验证脚本,可分别对训练集和验证集进行验证,还有统一脚本简化操作。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且已安装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_cpubool类型参数并设置为True

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】