imagenet数据集包含了多少幅图片,imagenet数据集有哪些种类
TF-slim(tensor flow . contrib . slim)是tensor flow的高级API,类似于layers,可以快速用于模型设计和评估,语法类似于keras。
Tensorflow models包含一个Slim图像分类库,您可以使用微调、训练和预训练模型对图像进行分类。主要的CNN网络有:
事件v1/2/3/4事件-resnet-v2 resnet 50/101/152 VG 16/19 mobilenetv1/2 nas net/PNAS net项目地址33603359 gg
怎么用很简单。三部曲也行。
安装模型和准备数据集的培训/微调/直接文档已经写的很清楚了,这样做基本没有问题。以下步骤来自文档教程:
四类数据集,安装tensorflow(1.0)克隆模型(https://github.com/tensor流/模型/)准备公式提供数据集:
鲜花、CIFAR-10、MNIST、ImageNet-2012
前三个数据集数据量较小,直接调用相关脚本会自动完成下载、转换、TF录制格式的过程。如下图。
data _ dir=/tmp/data/flowerspythondownload _ and _ convert _ data . py -dataset _ name=flowers _-data
训练可以从零开始(比如用ImageNet),有三种:加载预训练模型直接分类,网上微调。方便官方直接提供脚本。
dataset _ dir=/tmp/flowers train _ dir=/tmp/flowers-mode/incidence _ v3 check point _ path=/tmp/my _ ch-train _ dir=$ { train _ dir }-dataset _ dir=-dataset _ split _ name=train -model _ name=incidence -training able _ scopes=incidence v3/logs,incidence v3/auxlogits指定为参数,很清楚。
ImageNet数据集的创建从上述步骤开始,并且实际上是自动化的。遵循教程的指导问题很少,应该不是这篇博文的重点。最近需要在ImageNet上训练Inception-ResNet-V2的变体版本,但捷径是使用TF-Slim,并在创建ImageNet数据集时遵循官方指导,从而提供可行的解决方案。我的环境是Ubuntu 14.04 CUDA 8 TF 1 . 0 . 1 Python 2.7。
官方教程步骤:
Bazel编译相关脚本。直接运行download _ and _ preprocess _ imagenet程序看似简单,实际上是有漏洞的。2分:
1.bazel编译失败(不知道有没有环境问题)())))))))))。
2.ImageNet下载速度太慢(数据超过100GB)。
所以可以考虑下载ImageNet-2012自己转换。看代码。发现问题时,会涉及到以下三个脚本:
处理数据集中的数据/preprocess _ imagenet _ validation _ data . py,val Datasets/process _ bounding _ boxes . py,bounding
就是转换格式,把图片分类保存。(稍后根据需要))))))))))))))。
后跟process_bounding_boxes.py:
将包围盒的坐标获取写入csv文件。以后需要合并成一个文件。
转到主程序build_imagenet_data.py:
如你所见,训练集和验证集的格式必须包含1000个子目录下的图像。现在,处理步骤基本清楚了。
培训和评估
将数据按文件夹分类,合并每个类的包围盒CSV文件,运行指定参数的build_imagenet_data.py。让我们更具体地说:
最初的ImageNet-2012下载包含三个文件:
ils 2012 _ bbox _ train _ v2 . tar . gzilsvrc 2012 _ img _ val . taril svrc 2012 _ img _ train . tartest数据不公开,此处无测试数据。
Bbox是包围盒的数据,另外两个是train和val的数据(都是JPEG图像)
使用我的脚本只需一步即可完成:
假设数据存储在models/research/slim/imagenet-ori目录下,则TFRecord文件的输出目录为models/research/slim/ils VR 2012/output,当前目录为models/research/slim。
# 创建相关目录mkdir-p ils vrc 2012 mkdir-p ils vrc 2012/raw-data mkdir-p ils vrc 2012/raw-data/imagenet-data mkdir-p ils vrc 2012/raw-data/imagenet-data/bounding _ box #做包围盒数据tar-xvf ImageNet-ori/ils vrc 2012 _ bbox _ train _ v2。焦油。gz-C ils vrc 2012/raw-data/ImageNet-data/bounding _ box。py ils vrc 2012/raw-data/ImageNet-data/bounding _ boxes/ImageNet _ ls vrc _ 2015 _ synsets。txt sort ils vrc 2012/raw-data/ImageNet _ 2012 _ bounding _ box。战斗支援车做验证集(解压时间久)mkdir-p ils VR c 2012/raw-data/imagenet-data/validation/tar xf ils VR c 2012 _ img _ val。tar-C ils VR C 2012/raw-data/imagenet-data/validation/python预处理_ imagenet _ validation _ data。py ils VR c 2012/raw-data/imagenet-data/validation/imagenet _ 2012 _ validation _ synset _ labels。txt #做训练集(解压时间更久,保持耐心!)mkdir-p ils VR c 2012/raw-data/ImageNet-data/train/mv ImageNet-ori/ils VR c 2012 _ img _ train。tar ils VR c 2012/raw-data/ImageNet-data/train/CD ils VR c 2012/raw-data/ImageNet-data/train/tar-xvf ils VR c 2012 _ img _ train。tar mv ils VR c2012 _ img _ train。水手./././ImageNet-ori/find .-姓名 *。tar 而读NAEdo mkdir -p ${NAE% .tar } ;tar -xvf ${NAE} -C ${NAE% .tar } ;RM-f $ { NAE } ;完成#执行准换python build _ imagenet _ data。py-train _ directory=ils VR c 2012/raw-data/imagenet-data/train-validation _ directory=ils VR c 2012/raw-data/imagenet-data/validation-output _ directory=ils VR c 2012/output-imagenet _ metadata _ file=imagenet _ metadata。txt-labels _ file=imagenet _ ls vrc _ 2015 _ synsets。txt-bounding _ box _ file=ils VR c 2012/raw-data/image相关目录都是可改的,注意下路径就行了,我本机测试没问题。
参考博客
用张量流训练数据集数据准备