tensorflow 在cifar10上训练resnet50

训练环境:windows10+python3.6.5+cuda-v9.0+tensorflow_gpu-1.10.0

目录

 

1、CIFAR-10介绍

2、resnet50网络介绍

3、使用TensorFlow Slim微调模型训练

3.1、下载TF-slim源码

3.2、下载cifar10数据并转换格式为trconf

3.3、下载resnet50模型

3.4、训练resnet50

3.5、验证模型准确率


1、CIFAR-10介绍

CIFAR-10和CIFAR-100是8000万个微小图像数据集的标记子集。他们是由Alex Krizhevsky,Vinod Nair和Geoffrey Hinton收集的。

CIFAR-10数据集由10个类中的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。

数据集分为五个训练批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的1000个随机选择的图像。训练批次以随机顺序包含剩余图像,但是一些训练批次可能包含来自一个类别的更多图像而不是另一个类别。在它们之间,训练批次包含来自每个类别的5000个图像。

以下是数据集中的类,以及每个中的10个随机图像:

airplane     https://i-blog.csdnimg.cn/blog_migrate/15cbb59593c37680c2745716700e0179.pnghttps://i-blog.csdnimg.cn/blog_migrate/8dec60352c629343bd89cd05bbdbd33e.pnghttps://i-blog.csdnimg.cn/blog_migrate/c44468ef4172b8c284dc20ff2a7ae9f4.pnghttps://i-blog.csdnimg.cn/blog_migrate/8bffe90af03028ec9c8f9cb052d36c8b.pnghttps://i-blog.csdnimg.cn/blog_migrate/7636e28bab02ae7610883025c8c70a68.pnghttps://i-blog.csdnimg.cn/blog_migrate/46c2b7d749b717d0426b8d3d31282db9.pnghttps://i-blog.csdnimg.cn/blog_migrate/a5c7459d97df24d637029185b2096b5c.pnghttps://i-blog.csdnimg.cn/blog_migrate/63d19eb5d5304b00d1276a03f6861701.pnghttps://i-blog.csdnimg.cn/blog_migrate/150a5421808092440870b81e80ad96df.pnghttps://i-blog.csdnimg.cn/blog_migrate/b22daf26fc0f69de70ee70a6e811dbdb.png

automobilehttps://i-blog.csdnimg.cn/blog_migrate/2c723bb86f651ddd2a3768600c33fb17.pnghttps://i-blog.csdnimg.cn/blog_migrate/188b08361d8dabe669778117955e34f5.pnghttps://i-blog.csdnimg.cn/blog_migrate/84b3cc4138664a1b354c136b44e07f47.pnghttps://i-blog.csdnimg.cn/blog_migrate/19befa8c63da86b0c5677b7fe5f5ca6a.pnghttps://i-blog.csdnimg.cn/blog_migrate/cebc26f58f2cdf0e32c11ec399feb225.pnghttps://i-blog.csdnimg.cn/blog_migrate/f0ef5a68269f0c578448cafd7465e743.pnghttps://i-blog.csdnimg.cn/blog_migrate/26dca45372560d450758d24012f4993e.pnghttps://i-blog.csdnimg.cn/blog_migrate/de972d0784c3e28eff21311fe0bfc6f1.pnghttps://i-blog.csdnimg.cn/blog_migrate/65212d1ce998bd9e65d758c3807873bf.pnghttps://i-blog.csdnimg.cn/blog_migrate/86f0862109d53a0e3e8634438a370e6e.png

bird            https://i-blog.csdnimg.cn/blog_migrate/4308228d7d7d4d581861803557acc49c.pnghttps://i-blog.csdnimg.cn/blog_migrate/ca717da83ac21e314accfd5207815bb4.pnghttps://i-blog.csdnimg.cn/blog_migrate/54b9671bf3b57592b21b202d05cecd18.pnghttps://i-blog.csdnimg.cn/blog_migrate/a158ba787633cc13bd516a006a5eeaac.pnghttps://i-blog.csdnimg.cn/blog_migrate/32857ffbdfe7abdabb2271bd841678ad.pnghttps://i-blog.csdnimg.cn/blog_migrate/0747ce13d24e4dbcf99f164fca7cd551.pnghttps://i-blog.csdnimg.cn/blog_migrate/e01230522eafcc7a155b1be4841a25a6.pnghttps://i-blog.csdnimg.cn/blog_migrate/1a4a16fe4b63eb2cce7a036453df97b5.pnghttps://i-blog.csdnimg.cn/blog_migrate/3f90fedfe8e807103785765f823de437.pnghttps://i-blog.csdnimg.cn/blog_migrate/997fc4f832176b2c26420e7e46f84830.png

cat              https://i-blog.csdnimg.cn/blog_migrate/cf14afd74a372eb13e9ee8a2f19e6209.pnghttps://i-blog.csdnimg.cn/blog_migrate/81c1866fd0c6dd12fa7db7f0be31d93e.pnghttps://i-blog.csdnimg.cn/blog_migrate/f4c570e3301989fb4a4a2debdd5603cb.pnghttps://i-blog.csdnimg.cn/blog_migrate/b44aff0e139f63b685c36e8ebdedf337.pnghttps://i-blog.csdnimg.cn/blog_migrate/5718ffaa35053f88861da88e806cb85e.pnghttps://i-blog.csdnimg.cn/blog_migrate/ee9710df957ae3ab9ca0bccaaa497daf.pnghttps://i-blog.csdnimg.cn/blog_migrate/8f40f875595a4e8a6c2079733e2ac258.pnghttps://i-blog.csdnimg.cn/blog_migrate/783d6ed8824be3fb309d8a537b9af9e7.pnghttps://i-blog.csdnimg.cn/blog_migrate/61054709671af741aeeaae78d35a7beb.pnghttps://i-blog.csdnimg.cn/blog_migrate/9282a19ca19dbb6dfb1515c358d63ece.png

deer           https://i-blog.csdnimg.cn/blog_migrate/af22331c1aede62e1667743571a24b87.pnghttps://i-blog.csdnimg.cn/blog_migrate/6b1db364bbd050e53b6f6c6579e83e5f.pnghttps://i-blog.csdnimg.cn/blog_migrate/8ac1be91d97a10198709541b61bbe752.pnghttps://i-blog.csdnimg.cn/blog_migrate/f5666c3b41512c918494f01fd10a4ccc.pnghttps://i-blog.csdnimg.cn/blog_migrate/a5ab81674c08ddc9c91e40f8ab650bb9.pnghttps://i-blog.csdnimg.cn/blog_migrate/3ae05b73c33b3b5021000071e08f6c4a.pnghttps://i-blog.csdnimg.cn/blog_migrate/5468552a931ce615ca808ac01a9d1e0c.pnghttps://i-blog.csdnimg.cn/blog_migrate/a67534c7af0feeeb2c1003918bacf349.pnghttps://i-blog.csdnimg.cn/blog_migrate/36209773151782bb05e083417c39f307.pnghttps://i-blog.csdnimg.cn/blog_migrate/2401dc8f04d2cd8915c4027d57272e87.png

dog            https://i-blog.csdnimg.cn/blog_migrate/c35438e531ae0d6d50c0bd22eb804656.pnghttps://i-blog.csdnimg.cn/blog_migrate/c932343462e71854165c5004d08cb040.pnghttps://i-blog.csdnimg.cn/blog_migrate/fd9add4a7c0505f9be937da61b8e3355.pnghttps://i-blog.csdnimg.cn/blog_migrate/f7a59119bab6690f7e641a7067f7b871.pnghttps://i-blog.csdnimg.cn/blog_migrate/ec02daeef1e7950311c6ed45c42d3a60.pnghttps://i-blog.csdnimg.cn/blog_migrate/a6eaa9a674422b9990840f488960bbac.pnghttps://i-blog.csdnimg.cn/blog_migrate/9432b4b5bfcf9c1e7c3362aee0db0d31.pnghttps://i-blog.csdnimg.cn/blog_migrate/ed65a1fd1abb042ab48ca64d52002e73.pnghttps://i-blog.csdnimg.cn/blog_migrate/8189673858e0bb0f741c8575c43683ea.pnghttps://i-blog.csdnimg.cn/blog_migrate/055407db631715e2c7b1c9947eba5437.png

frog            https://i-blog.csdnimg.cn/blog_migrate/bd49b10bfebbc5e8f752e75fda095bd7.pnghttps://i-blog.csdnimg.cn/blog_migrate/a1b55ac87b12bb8fb47492eff2e86fbd.pnghttps://i-blog.csdnimg.cn/blog_migrate/10ad29dc8604e238c3767c6b1d70c9ea.pnghttps://i-blog.csdnimg.cn/blog_migrate/1b96c8c564d89d54a7a902092c648f36.pnghttps://i-blog.csdnimg.cn/blog_migrate/333b51d99dc2f3a51912a3995767f85f.pnghttps://i-blog.csdnimg.cn/blog_migrate/30ae76c07788e37fb2292f6db4a60ab5.pnghttps://i-blog.csdnimg.cn/blog_migrate/759622e28c3a0683dcd9ed6646fd92f2.pnghttps://i-blog.csdnimg.cn/blog_migrate/ff7331a0e1a18bbe9dd2e88f5e49c029.pnghttps://i-blog.csdnimg.cn/blog_migrate/562ac8466853bf2fc76a94bbc5f45f51.pnghttps://i-blog.csdnimg.cn/blog_migrate/74852577337953e63ca7a39fc8d2e72c.png

horse         https://i-blog.csdnimg.cn/blog_migrate/ed61d188db1667ed1c62865335759b62.pnghttps://i-blog.csdnimg.cn/blog_migrate/21ec443556d91d17238c6c24447a38e6.pnghttps://i-blog.csdnimg.cn/blog_migrate/ced0f03560a897f13a2cd5f5115a8830.pnghttps://i-blog.csdnimg.cn/blog_migrate/bf31b9d7611e319b00099910cda318e5.pnghttps://i-blog.csdnimg.cn/blog_migrate/5764ba56376f6f1be68d95489997dcdb.pnghttps://i-blog.csdnimg.cn/blog_migrate/94b91df8a442273bf64935d747df7c4c.pnghttps://i-blog.csdnimg.cn/blog_migrate/5e4e8dddff04343b05850cace2e28e09.pnghttps://i-blog.csdnimg.cn/blog_migrate/e1f66fbf3e2024bbcb18930376f81110.pnghttps://i-blog.csdnimg.cn/blog_migrate/450e893b1b162645567259cadb6032ba.pnghttps://i-blog.csdnimg.cn/blog_migrate/7c73260e8f3fded630348c73d51cdf0c.png

ship           https://i-blog.csdnimg.cn/blog_migrate/e94739a4c8110e95c4cb0ac40d762e3f.pnghttps://i-blog.csdnimg.cn/blog_migrate/e8637e084fbe97c60d75e123e971e821.pnghttps://i-blog.csdnimg.cn/blog_migrate/e94e5e69586732aa78b5f9779bb6ec09.pnghttps://i-blog.csdnimg.cn/blog_migrate/13d17d0a50c58483de0b8afdfcf65ad5.pnghttps://i-blog.csdnimg.cn/blog_migrate/9abe2132dd235cabcb8cb8d7cafecf8e.pnghttps://i-blog.csdnimg.cn/blog_migrate/4270acf45008ab551c636b92692f4057.pnghttps://i-blog.csdnimg.cn/blog_migrate/19ea32ad83e3e6fcc0772a24eaf3baf3.pnghttps://i-blog.csdnimg.cn/blog_migrate/da7e070076b9a59430c9cbb92fdcc884.pnghttps://i-blog.csdnimg.cn/blog_migrate/ff01cca96ae4a6227aab81cf27e1492b.pnghttps://i-blog.csdnimg.cn/blog_migrate/4ca6a8de1cfb2b7506d94f0d5d011d55.png

truck          https://i-blog.csdnimg.cn/blog_migrate/b6186a647465bce20e495def4474c508.pnghttps://i-blog.csdnimg.cn/blog_migrate/d77964e1550d4afd544ad5a4c997deef.pnghttps://i-blog.csdnimg.cn/blog_migrate/f1c854ad62459db05e82976cbb7dfba7.pnghttps://i-blog.csdnimg.cn/blog_migrate/54760655c826a266cf7d57fe906104d6.pnghttps://i-blog.csdnimg.cn/blog_migrate/57c1c1715ad58606233f0d35700e936f.pnghttps://i-blog.csdnimg.cn/blog_migrate/d4ec52c7fa4f4ff65b7b3894fd5b1c40.pnghttps://i-blog.csdnimg.cn/blog_migrate/2f509738d91a7d2cf51f498d6433fe14.pnghttps://i-blog.csdnimg.cn/blog_migrate/1be6309ff0c657ae4ece4bdc2c3e5286.pnghttps://i-blog.csdnimg.cn/blog_migrate/d1a84fe485b4dbd942f6b4c161ba6551.pnghttps://i-blog.csdnimg.cn/blog_migrate/c50fe7f40de9f070af8fe7d43324e4bc.png

2、resnet50网络介绍

根据何凯明在论文 Deep Residual Learning for Image Recognition 4.1单节中的描述,50层resnet是将34层resnet中的两层瓶颈块替换成三层瓶颈块,瓶颈块的结构如下面图表中所示。

34层resnet见下图最右的结构

50层resnet结构见下图

3、使用TensorFlow Slim微调模型训练

TF-slim是Google公司公布的一种新的轻量级的、用于定义、训练和评估复杂模型的TensorFlow高级API。它提供的接口可以帮助我们从头开始训练模型,或者从预先训练的网络权值中对它们进行微调。提供的模型包括VGG16,VGG19,Inception V1~4,ResNet50,Resnt101,MobileNet等。

3.1、下载TF-slim源码

下载命令:

git clone https://github.com/tensorflow/models/

从research目录下将slim目录复制出来。

3.2、下载cifar10数据并转换格式为trconf

下载命令:

python slim/download_and_convert_data.py --dataset_name=cifar10 --dataset_dir=data

3.3、下载resnet50模型

下载地址:

http://download.tensorflow.org/models/resnet_v2_50_2017_04_14.tar.gz

解压之后放在pretrained目录,新建一个训练用的目录train_dir,一个测试用的目录eval_dir,最终形成的目录如下:

---slim

---data

------ cifar10_test.tfrecord

------ cifar10_train.tfrecord

------ labels.txt

---train-dir

-- eval-dir

-- pretrained

------ resnet_v2_50.ckpt

3.4、训练resnet50

训练全部层的命令如下:

python slim/train_image_classifier.py 
  --train_dir=train_dir \
  --dataset_name=cifar10 \
  --dataset_split_name=train \
  --dataset_dir=data \
  --model_name=resnet_v2_50 \
  --checkpoint_path=pretrained/resnet_v2_50.ckpt \
  --checkpoint_exclude_scopes=resnet_v2_50/logits \
  --max_number_of_steps=50000 \
  --batch_size=16 \
  --learning_rate=0.001 \
  --log_every_n_steps=100 \
  --optimizer=adam
 

优化器选择adam,初始学习率为0.001,一共训练50000步,其他参数都为默认,详情可查看slim/train_image_classifier.py。经过50000训练后,loss值为0.18,如下图所示。

3.5、验证模型准确率

使用如下命令验证模型准确率,准确率达到了95.17%。

python slim/eval_image_classifier.py \
  --checkpoint_path=train_dir \
  --eval_dir=eval_dir \
  --dataset_name=cifar10 \
  --dataset_split_name=test \
  --dataset_dir=data \
  --model_name=resnet_v2_50

验证结果如下图所示:

项目地址:https://github.com/tryrus/Cifar10-Classification-useResnet50

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tryrus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值