Tensorflow models包含一个Slim的图像分类库,可以微调、训练、使用预训练模型来对图像进行分类。
包含的主要CNN网络有:
- Inception V1/2/3/4
- Inception-ResNet-V2
- ResNet 50/101/152
- VGG 16/19
- MobileNet V1/2
- NASNet/PNASNet
项目地址: https://github.com/tensorflow/models/tree/master/research/slim
官方提供四种数据集:
Flowers、CIFAR-10、MNIST、ImageNet-2012
前三个数据集数据量小,直接调用相关脚本自动会完成下载、转换(TFRecord格式)的过程。如:
DATA_DIR=/tmp/data/flowers
python download_and_convert_data.py \
--dataset_name=flowers \
--dataset_dir="${DATA_DIR}"
1)Flowers数据集
1.1 下载
访问服务器上download_and_convert_data.py所在的文件夹,执行下面的命令即可完成flowers数据集下载和转换:
/home/xxx/anaconda3/envs/tensorflow/bin/python3 download_and_convert_data.py \
--dataset_name=flowers \
--dataset_dir="/home/xxx/datasets/flowers"【存放数据集的路径】
1.2 数据集说明
原始下载文件:flower_photos.tgz
解压后文件夹flower_photos中包含的文件如下:
每个文件夹下包含不同数量和尺寸的.jpg文件,图像总数为:3670幅,各个文件夹的图像数和label如下。
0:daisy【633幅】
1:dandelion【898幅】
2:roses【641幅】
3:sunflowers【699幅】
4:tulips【799幅】
1.3 转换为TFRecord格式
对所有图像进行随机排序,取350~3670为train图像,0~349为validation图像。
train图像:共3320张图像,均分为5组,每组664张(分为5类,对应标签)
validation图像:共350张图像,均分为5组,每组70张(分为5类,对应标签)
转换结果如下:
2)CIFAR-10数据集
1.1 下载
访问服务器上download_and_convert_data.py所在的文件夹,执行下面的命令即可完成CIFAR-10数据集下载和转换:
/home/xxx/anaconda3/envs/tensorflow/bin/python3 download_and_convert_data.py \
--dataset_name=cifar10\
--dataset_dir="/home/xxx/datasets/cifar10"【存放数据集的路径】
1.2 数据集说明
原始下载文件:cifar-10-python.tar.gz
解压后文件夹cifar-10-batches-py0中包含的文件如下:
注意这里的数据不是.jpg或者.png的图像。data_batch_1~5均有10000张图像,test_batch也包含10000张图像;
总共包含10类:
0:airplane
1:automobile
2:bird
3:cat
4:deer
5:dog
6:frog
7:horse
8:ship
9:truck
1.3 转换为TFRecord格式
training数据:data_batch_1~5,共50000张图像;(分为10类,对应标签)
testing数据:test_batch,共10000张图像。(分为10类,对应标签)
转换结果如下:
3)MNIST数据集
1.1 下载
访问服务器上download_and_convert_data.py所在的文件夹,执行下面的命令即可完成MNIST数据集下载和转换:
/home/xxx/anaconda3/envs/tensorflow/bin/python3 download_and_convert_data.py \
--dataset_name=mnist\
--dataset_dir="/home/xxx/datasets/mnist"【存放数据集的路径】
1.2 数据集说明
原始下载文件:
注意这里解压后的数据不是.jpg或者.png的图像。解压后如下:
1.3 转换为TFRecord格式
training数据:来自train-images-idx3-ubyte与train-labels-idx1-ubyte,共60000张图像【55000张training,5000张validation】;(分为10类,对应标签)
testing数据:来自t10k-images-idx3-ubyte与t10k-labels-idx1-ubyte,共10000张图像。(分为10类,对应标签)
转换结果如下:
4)ImageNet-2012 数据集
需要去官网http://www.image-net.org/注册,注意注册时不能使用后缀为.com的邮箱。数据集过大,没有自己下载训练。