# TensorFlow-Slim image classification model library
[TF-slim](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim)
is a new lightweight high-level API of TensorFlow (`tensorflow.contrib.slim`)
for defining, training and evaluating complex
models. This directory contains
code for training and evaluating several widely used Convolutional Neural
Network (CNN) image classification models using TF-slim.
It contains scripts that will allow
you to train models from scratch or fine-tune them from pre-trained network
weights. It also contains code for downloading standard image datasets,
converting them
to TensorFlow's native TFRecord format and reading them in using TF-Slim's
data reading and queueing utilities. You can easily train any model on any of
these datasets, as we demonstrate below. We've also included a
[jupyter notebook](https://github.com/tensorflow/models/blob/master/research/slim/slim_walkthrough.ipynb),
which provides working examples of how to use TF-Slim for image classification.
For developing or modifying your own models, see also the [main TF-Slim page](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim).
## Contacts
Maintainers of TF-slim:
* Nathan Silberman,
github: [nathansilberman](https://github.com/nathansilberman)
* Sergio Guadarrama, github: [sguada](https://github.com/sguada)
## Citation
"TensorFlow-Slim image classification model library"
N. Silberman and S. Guadarrama, 2016.
https://github.com/tensorflow/models/tree/master/research/slim
## Table of contents
<a href="#Install">Installation and setup</a><br>
<a href='#Data'>Preparing the datasets</a><br>
<a href='#Pretrained'>Using pre-trained models</a><br>
<a href='#Training'>Training from scratch</a><br>
<a href='#Tuning'>Fine tuning to a new task</a><br>
<a href='#Eval'>Evaluating performance</a><br>
<a href='#Export'>Exporting Inference Graph</a><br>
<a href='#Troubleshooting'>Troubleshooting</a><br>
# Installation
<a id='Install'></a>
In this section, we describe the steps required to install the appropriate
prerequisite packages.
## Installing latest version of TF-slim
TF-Slim is available as `tf.contrib.slim` via TensorFlow 1.0. To test that your
installation is working, execute the following command; it should run without
raising any errors.
```
python -c "import tensorflow.contrib.slim as slim; eval = slim.evaluation.evaluate_once"
```
## Installing the TF-slim image models library
To use TF-Slim for image classification, you also have to install
the [TF-Slim image models library](https://github.com/tensorflow/models/tree/master/research/slim),
which is not part of the core TF library.
To do this, check out the
[tensorflow/models](https://github.com/tensorflow/models/) repository as follows:
```bash
cd $HOME/workspace
git clone https://github.com/tensorflow/models/
```
This will put the TF-Slim image models library in `$HOME/workspace/models/research/slim`.
(It will also create a directory called
[models/inception](https://github.com/tensorflow/models/tree/master/research/inception),
which contains an older version of slim; you can safely ignore this.)
To verify that this has worked, execute the following commands; it should run
without raising any errors.
```
cd $HOME/workspace/models/research/slim
python -c "from nets import cifarnet; mynet = cifarnet.cifarnet"
```
# Preparing the datasets
<a id='Data'></a>
As part of this library, we've included scripts to download several popular
image datasets (listed below) and convert them to slim format.
Dataset | Training Set Size | Testing Set Size | Number of Classes | Comments
:------:|:---------------:|:---------------------:|:-----------:|:-----------:
Flowers|2500 | 2500 | 5 | Various sizes (source: Flickr)
[Cifar10](https://www.cs.toronto.edu/~kriz/cifar.html) | 60k| 10k | 10 |32x32 color
[MNIST](http://yann.lecun.com/exdb/mnist/)| 60k | 10k | 10 | 28x28 gray
[ImageNet](http://www.image-net.org/challenges/LSVRC/2012/)|1.2M| 50k | 1000 | Various sizes
## Downloading and converting to TFRecord format
For each dataset, we'll need to download the raw data and convert it to
TensorFlow's native
[TFRecord](https://www.tensorflow.org/versions/r0.10/api_docs/python/python_io.html#tfrecords-format-details)
format. Each TFRecord contains a
[TF-Example](https://github.com/tensorflow/tensorflow/blob/r0.10/tensorflow/core/example/example.proto)
protocol buffer. Below we demonstrate how to do this for the Flowers dataset.
```shell
$ DATA_DIR=/tmp/data/flowers
$ python download_and_convert_data.py \
--dataset_name=flowers \
--dataset_dir="${DATA_DIR}"
```
When the script finishes you will find several TFRecord files created:
```shell
$ ls ${DATA_DIR}
flowers_train-00000-of-00005.tfrecord
...
flowers_train-00004-of-00005.tfrecord
flowers_validation-00000-of-00005.tfrecord
...
flowers_validation-00004-of-00005.tfrecord
labels.txt
```
These represent the training and validation data, sharded over 5 files each.
You will also find the `$DATA_DIR/labels.txt` file which contains the mapping
from integer labels to class names.
You can use the same script to create the mnist and cifar10 datasets.
However, for ImageNet, you have to follow the instructions
[here](https://github.com/tensorflow/models/blob/master/research/inception/README.md#getting-started).
Note that you first have to sign up for an account at image-net.org.
Also, the download can take several hours, and could use up to 500GB.
## Creating a TF-Slim Dataset Descriptor.
Once the TFRecord files have been created, you can easily define a Slim
[Dataset](https://github.com/tensorflow/tensorflow/blob/r0.10/tensorflow/contrib/slim/python/slim/data/dataset.py),
which stores pointers to the data file, as well as various other pieces of
metadata, such as the class labels, the train/test split, and how to parse the
TFExample protos. We have included the TF-Slim Dataset descriptors
for
[Cifar10](https://github.com/tensorflow/models/blob/master/research/slim/datasets/cifar10.py),
[ImageNet](https://github.com/tensorflow/models/blob/master/research/slim/datasets/imagenet.py),
[Flowers](https://github.com/tensorflow/models/blob/master/research/slim/datasets/flowers.py),
and
[MNIST](https://github.com/tensorflow/models/blob/master/research/slim/datasets/mnist.py).
An example of how to load data using a TF-Slim dataset descriptor using a
TF-Slim
[DatasetDataProvider](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/slim/python/slim/data/dataset_data_provider.py)
is found below:
```python
import tensorflow as tf
from datasets import flowers
slim = tf.contrib.slim
# Selects the 'validation' dataset.
dataset = flowers.get_split('validation', DATA_DIR)
# Creates a TF-Slim DataProvider which reads the dataset in the background
# during both training and testing.
provider = slim.dataset_data_provider.DatasetDataProvider(dataset)
[image, label] = provider.get(['image', 'label'])
```
## An automated script for processing ImageNet data.
Training a model with the ImageNet dataset is a common request. To facilitate
working with the ImageNet dataset, we provide an automated script for
downloading and processing the ImageNet dataset into the native TFRecord
format.
The TFRecord format consists of a set of sharded files where each entry is a serialized `tf.Example` proto. Each `tf.Example` proto contains the ImageNet image (JPEG encoded) as well as metadata such as label and bounding box information.
We provide a single [script](datasets/download_and_preprocess_imagenet.sh) for
downloading and converting ImageNet data to TFRecord format. Downloading and
preprocessing the data may take several hours (up to half a day) depending on
your network and computer speed. Please be patient.
To begin, you will need to sign up for an account with [ImageNet]
(http://image-net.org) to gain access to the data. Look for the sign up page,
create an account and request an access key to download the data.
没有合适的资源?快使用搜索试试~ 我知道了~
tensorflow的model下的slim
共102个文件
py:79个
sh:9个
md:4个
需积分: 11 10 下载量 31 浏览量
2019-02-02
14:42:30
上传
评论
收藏 1011KB ZIP 举报
温馨提示
tensorflow的model下的slim,有利于帮助重新训练网络模型
资源推荐
资源详情
资源评论
收起资源包目录
tensorflow的model下的slim (102个子文件)
BUILD 14KB
mobilenet_example.ipynb 168KB
slim_walkthrough.ipynb 45KB
README.md 26KB
mobilenet_v1.md 9KB
README.md 5KB
README.md 3KB
madds_top1_accuracy.png 100KB
mobilenet_v1.png 99KB
mnet_v1_vs_v2_pixel1_latency.png 62KB
inception_v3.py 28KB
mobilenet_v1_test.py 26KB
build_imagenet_data.py 26KB
inception_v2.py 25KB
model_deploy_test.py 24KB
resnet_v1_test.py 24KB
model_deploy.py 23KB
vgg_test.py 23KB
mobilenet_v1.py 22KB
train_image_classifier.py 20KB
nasnet.py 20KB
nasnet_utils.py 20KB
resnet_v2_test.py 20KB
nasnet_test.py 19KB
inception_resnet_v2.py 18KB
mobilenet.py 17KB
resnet_v1.py 16KB
inception_v4.py 16KB
inception_v1.py 16KB
inception_v2_test.py 15KB
resnet_v2.py 15KB
inception_resnet_v2_test.py 15KB
inception_v3_test.py 14KB
inception_preprocessing.py 14KB
vgg.py 14KB
conv_blocks.py 13KB
inception_v4_test.py 13KB
vgg_preprocessing.py 13KB
resnet_utils.py 12KB
pnasnet_test.py 11KB
inception_v1_test.py 11KB
cyclegan.py 10KB
pnasnet.py 10KB
pix2pix.py 9KB
process_bounding_boxes.py 9KB
mobilenet_v2.py 8KB
dcgan.py 7KB
mobilenet_v1_train.py 7KB
download_and_convert_mnist.py 7KB
imagenet.py 7KB
alexnet_test.py 7KB
nets_factory.py 7KB
download_and_convert_flowers.py 7KB
overfeat_test.py 7KB
mobilenet_v2_test.py 7KB
eval_image_classifier.py 7KB
download_and_convert_cifar10.py 6KB
alexnet.py 6KB
pix2pix_test.py 6KB
overfeat.py 6KB
mobilenet_v1_eval.py 5KB
export_inference_graph.py 5KB
cifarnet.py 5KB
dataset_utils.py 5KB
cifarnet_preprocessing.py 5KB
dcgan_test.py 4KB
cyclegan_test.py 4KB
lenet.py 4KB
mnist.py 3KB
flowers.py 3KB
cifar10.py 3KB
preprocessing_factory.py 3KB
inception_utils.py 3KB
preprocess_imagenet_validation_data.py 3KB
nets_factory_test.py 2KB
download_and_convert_data.py 2KB
nasnet_utils_test.py 2KB
dataset_factory.py 2KB
inception.py 2KB
lenet_preprocessing.py 2KB
export_inference_graph_test.py 1KB
setup.py 916B
__init__.py 1B
__init__.py 1B
__init__.py 1B
__init__.py 1B
__init__.py 1B
__init__.py 0B
__init__.py 0B
export_mobilenet.sh 5KB
download_and_convert_imagenet.sh 4KB
finetune_inception_resnet_v2_on_flowers.sh 4KB
download_imagenet.sh 3KB
finetune_inception_v3_on_flowers.sh 3KB
finetune_resnet_v1_50_on_flowers.sh 3KB
finetune_inception_v1_on_flowers.sh 3KB
train_cifarnet_on_cifar10.sh 2KB
train_lenet_on_mnist.sh 2KB
imagenet_metadata.txt 724KB
imagenet_2012_validation_synset_labels.txt 488KB
共 102 条
- 1
- 2
资源评论
ShaoDu
- 粉丝: 27
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 《软件测试训练营》学习笔记-举例注册测试用例
- 机器学习预测.rar机器学习预测.rar机器学习预测.rar
- VIS 110Nm lib ip
- 848694479200715布谷鸟配音_1.10.8.0.apk
- 基于改进粒子群算法微电网日前优化(matlab程序)
- Energy Hub Integration: Optimizing Electricity and Heat Market P
- 基于C51单片机蓝牙控制小车proteus仿真程序源码+相关技术文档资料.zip
- Integrated-Energy-Systems-with-CAES-(注释完全,可直接运行)
- PDF为英语文本绘制热区(DEMO)
- Python一种新的需求响应机制DR-VCG研究(注释完全,可直接运行)(文档加Matlab源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功