tensorflow训练Oxford-IIIT Pets

参考链接https://github.com/tensorflow/models/blob/master/object_detection/g3doc/running_pets.md

先参考https://github.com/tensorflow/models/blob/master/object_detection/g3doc/installation.md安装好环境

以下默认都在models目录下操作

mkdir petstrain

注意PYTHONPATH库路径的设置

# From tensorflow/models/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

下载Oxford-IIIT Pets的图片和标注信息

# From tensorflow/models/cd petstrain
wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz
wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz
tar -xvf images.tar.gz
tar -xvf annotations.tar.gzcd ..

转换成TFRecord格式

# From tensorflow/models/cp object_detection/data/pet_label_map.pbtxt petstrain/python3 object_detection/create_pet_tf_record.py --label_map_path=petstrain/pet_label_map.pbtxt --data_dir=petstrain --output_dir=petstrain

在petstrain目录生成pet_train.record    pet_val.record

下载预训练的模型

cd petstrainwget http://storage.googleapis.com/download.tensorflow.org/models/object_detection/faster_rcnn_resnet101_coco_11_06_2017.tar.gz
tar -xvf faster_rcnn_resnet101_coco_11_06_2017.tar.gzmv faster_rcnn_resnet101_coco_11_06_2017/model.ckpt.* .cd ..

修改配置文件

cp object_detection/samples/configs/faster_rcnn_resnet101_pets.config petstrain/

# From tensorflow/models/

# Edit the faster_rcnn_resnet101_pets.config template. Please note that there
# are multiple places where PATH_TO_BE_CONFIGURED needs to be set.
sed -i "s|PATH_TO_BE_CONFIGURED|petstrain|g" petstrain/faster_rcnn_resnet101_pets.config

训练的目录下会有以下文件

  + petstrain/
    - faster_rcnn_resnet101_pets.config
    - model.ckpt.index
    - model.ckpt.meta
    - model.ckpt.data-00000-of-00001
    - pet_label_map.pbtxt
    - pet_train.record
    - pet_val.record

开始训练

# From tensorflow/models/python3 object_detection/train.py --logtostderr --pipeline_config_path=petstrain/faster_rcnn_resnet101_pets.config  --train_dir=petstrain/res/

查看训练进度

# From tensorflow/models/tensorboard --logdir=pet-train/res/

打开浏览器localhost:6006

导出训练好的图

# From tensorflow/models/

object_detection/export_inference_graph.py --input_type image_tensor \    --pipeline_config_path petstrain/faster_rcnn_resnet101_pets.config \    --checkpoint_path petstrain/res/model.ckpt-445 \    --inference_graph_path petstrain/output_inference_graph.pb

这样便得到output_inference_graph.pb文件

时间: 2024-10-12 04:35:01

tensorflow训练Oxford-IIIT Pets的相关文章

目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练

将目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练. import xml.etree.ElementTree as ET import numpy as np import os import tensorflow as tf from PIL import Image classes = ["aeroplane", "bicycle", "bird", "boat", &quo

tensorflow训练自己的数据集实现CNN图像分类

利用卷积神经网络训练图像数据分为以下几个步骤 读取图片文件 产生用于训练的批次 定义训练的模型(包括初始化参数,卷积.池化层等参数.网络) 训练 1 读取图片文件 1 def get_files(filename): 2 class_train = [] 3 label_train = [] 4 for train_class in os.listdir(filename): 5 for pic in os.listdir(filename+train_class): 6 class_train

TensorFlow训练Logistic回归

Logistic回归 在用线性模型进行回归训练时,有时需要根据这个线性模型进行分类,则要找到一个单调可微的用于分类的函数将线性回归模型的预测值关联起来.这时就要用到逻辑回归,之前看吴军博士的<数学之美>中说腾讯和谷歌广告都有使用logistics回归算法. 如下图,可以清晰看到线性回归和逻辑回归的关系,一个线性方程被逻辑方程归一化后就成了逻辑回归.. Logistic模型 对于二分类,输出y∈{0,1},假如线性回归模型为z=θTx,则要将z转成y,即y=g(z).于是最直接的方式是用单位阶跃

使用Tensorflow训练神经网络模型

最近正在入坑机器学习,前期以读代码为主.买了一本才云科技郑泽宇的书,叫做<Tensorflow,实战Google深度学习框架>,觉得很适合入门的小菜鸟,拿出来跟大家分享下. 下面是第一个完整的训练神经网络模型的代码,里面综合了作者和我在网上查到的其他人关于代码的解读.整理之后如下: 1 #-*-coding:UTF-8-*- 2 import tensorflow as tf 3 #通过numpy工具包生成模拟数据集 4 from numpy.random import RandomState

TensorFlow 训练 MNIST (1)—— softmax 单层神经网络

1.MNIST数据集简介 首先通过下面两行代码获取到TensorFlow内置的MNIST数据集: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('./data/mnist', one_hot=True) MNIST数据集共有55000(mnist.train.num_examples)张用于训练的数据,对应的有55000个标签:共有10000(mnist.t

TensorFlow训练MNIST数据集(3) —— 卷积神经网络

前面两篇随笔实现的单层神经网络 和多层神经网络, 在MNIST测试集上的正确率分别约为90%和96%.在换用多层神经网络后,正确率已有很大的提升.这次将采用卷积神经网络继续进行测试. 1.模型基本结构 如下图所示,本次采用的模型共有8层(包含dropout层).其中卷积层和池化层各有两层. 在整个模型中,输入层负责数据输入:卷积层负责提取图片的特征:池化层采用最大池化的方式,突出主要特征,并减少参数维度:全连接层再将个特征组合起来:dropout层可以减少每次训练的计算量,并可以一定程度上避免过

tensorflow训练线性回归模型

完整代码 import tensorflow as tf import matplotlib.pyplot as plt import numpy as np #样本数据 x_train = np.linspace(-1,1,300)[:,np.newaxis] noise = np.random.normal(0, 0.1, x_train.shape) y_train = x_train * 3 + noise + 0.8 #线性模型 W = tf.Variable([0.1],dtype

吴裕雄 python 神经网络——TensorFlow训练神经网络:不使用激活函数

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 # 输入节点 OUTPUT_NODE = 10 # 输出节点 LAYER1_NODE = 500 # 隐藏层数 BATCH_SIZE = 100 # 每次batch打包的样本个数 # 模型相关的参数 LEARNING_RATE_BASE = 0.01 LEARNING_RATE_DECAY = 0.

吴裕雄 python 神经网络——TensorFlow训练神经网络:MNIST最佳实践

import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 OUTPUT_NODE = 10 LAYER1_NODE = 500 def get_weight_variable(shape, regularizer): weights = tf.get_variable("weights", shape, initializer