环境

Ubuntu16.04/anaconda+tensorflow(gpu)1.4.0+python=3.5

下载

tensorflow model

估计下载的很慢,提供一个百度云链接:https://pan.baidu.com/s/1EB1VLj5Znw_exAAUa1ftIg 密码:2o0a

直接下载整个文件就行了,因为后面要在jupyter notebook中运行,所以直接放在了jupyter notebook的工作目录里面(关于工作目录的配置我也写过,看一下就可以了),我的工作目录是Documents/jworkplace/

cd Documents/jworkplace/
unzip models-master.zip 

安装

官方教程,其实教程就在这个文件里面models/research/object_detection/g3doc/installation.md(可以在github直接观看) 。

1.依赖

这里面需要安装的依赖

Protobuf
Pillow
lxml
Jupyter notebook
Matplotlib
Tensorflow

命令安装依赖

source activate tensorflow
conda install Protobuf
conda install lxml
conda install matplotlib
conda install pillow
2.编译

继续上面,使用Protobuf编译一下,需要在object_detection所在的父目录下进行及research下,

cd Documents/jworkplace/models-master/research/
protoc object_detection/protos/*.proto --python_out=.

不输出任何东西就可以了,输出这个Missing output directives也不行。

3.添加环境变量

格式是这样的

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

首先代开~/.bashrc

sudo gedit ~/.bashrc

然后在后面添加

export PYTHONPATH=$PYTHONPATH:/home/pc314/Documents/jworkplace/models-master/research:/home/pc314/Documents/jworkplace/models-master/research/slim
4.测试

代开jupyter notebook的话,应该会有models-master文件,打开models-master/research/object_detection/object_detection_tutorial.ipynb

然后点击Cell->Run all应该就可以了。正常的话会出现两张图。

(1)然而我运行这个的时候出现了

ImportError: No module named 'object_detection' 

具体的解决方法是

打开/home/pc314/anaconda3/envs/tensorflow/lib/python3.5/site-packages,在这个目录下添加一个tensorflow_model.pth,里面的内容写上

/home/pc314/Documents/jworkplace/models-master/research
/home/pc314/Documents/jworkplace/models-master/research/slim

(2).ImportError: No module named 'utils'

pip install utils

这样子就可以了

(2)还有一个就是代码没有对齐,里面有一个最大的一个cell里面的代码,我这里面贴出来(省下时间)

def run_inference_for_single_image(image, graph):with graph.as_default():with tf.Session() as sess:# Get handles to input and output tensorsops = tf.get_default_graph().get_operations()all_tensor_names = {output.name for op in ops for output in op.outputs}tensor_dict = {}for key in ['num_detections', 'detection_boxes', 'detection_scores','detection_classes', 'detection_masks']:tensor_name = key + ':0'if tensor_name in all_tensor_names:tensor_dict[key] = tf.get_default_graph().get_tensor_by_name(tensor_name)if 'detection_masks' in tensor_dict:# The following processing is only for single imagedetection_boxes = tf.squeeze(tensor_dict['detection_boxes'], [0])detection_masks = tf.squeeze(tensor_dict['detection_masks'], [0])# Reframe is required to translate mask from box coordinates to image coordinates and fit the image size.real_num_detection = tf.cast(tensor_dict['num_detections'][0], tf.int32)detection_boxes = tf.slice(detection_boxes, [0, 0], [real_num_detection, -1])detection_masks = tf.slice(detection_masks, [0, 0, 0], [real_num_detection, -1, -1])detection_masks_reframed = utils_ops.reframe_box_masks_to_image_masks(detection_masks, detection_boxes, image.shape[0], image.shape[1])detection_masks_reframed = tf.cast(tf.greater(detection_masks_reframed, 0.5), tf.uint8)# Follow the convention by adding back the batch dimensiontensor_dict['detection_masks'] = tf.expand_dims(detection_masks_reframed, 0)image_tensor = tf.get_default_graph().get_tensor_by_name('image_tensor:0')# Run inferenceoutput_dict = sess.run(tensor_dict,feed_dict={image_tensor: np.expand_dims(image, 0)})# all outputs are float32 numpy arrays, so convert types as appropriateoutput_dict['num_detections'] = int(output_dict['num_detections'][0])output_dict['detection_classes'] = output_dict['detection_classes'][0].astype(np.uint8)output_dict['detection_boxes'] = output_dict['detection_boxes'][0]output_dict['detection_scores'] = output_dict['detection_scores'][0]if 'detection_masks' in output_dict:output_dict['detection_masks'] = output_dict['detection_masks'][0]return output_dict

ubuntu下谷歌开源的TensorFlow Object Detection API的安装教程相关推荐

  1. 物体识别,Win7下运行TensorFlow Object Detection API详细版教程(零基础操作)

    这段时间在做三维重建,为了达到更好的重建效果,想在三维重建的工作开始前增加物体识别这一功能,以便针对特定的物体进行相应的优化,国内也不乏有众多公司在做通用图片识别,诸如:旷世,商汤,百度,图普等,这里 ...

  2. 谷歌开放的TensorFlow Object Detection API 效果如何?对业界有什么影响

    ? 谷歌开放了一个 Object Detection API: Supercharge your C 写个简单的科普帖吧. 熟悉TensorFlow的人都知道,tf在Github上的主页是:tenso ...

  3. TensorFlow Object Detection API 超详细教程和踩坑过程

    安装Anacond:https://blog.csdn.net/ITLearnHall/article/details/81708148 安装Pycharm:https://blog.csdn.net ...

  4. Tensorflow object detection API 搭建物体识别模型

    ----------------------------------------------------先把别人博客教程跑通-------------------------------------- ...

  5. Tensorflow object detection API 搭建自己的目标检测模型并迁移到Android上

    参考链接:https://blog.csdn.net/dy_guox/article/details/79111949 之前参考上述一系列博客在Windows10下面成功运行了TensorFlow A ...

  6. TensorFlow Object Detection API 技术手册(5)——制作自己的目标检测数据集

    TensorFlow Object Detection API 技术手册(5)--制作自己的目标检测数据集 (一)收集图片 (二)安装图像打标工具labelImg (三)将XML文件转化为CSV文件 ...

  7. TensorFlow学习——Tensorflow Object Detection API(1.安装篇)

    2017 年 6 月, Google 公司开放了 TensorFlow Object Detection API . 这 个项目使用 TensorFlow 实现了大多数深度学习目标检测框架,真中就包括 ...

  8. Ubuntu 16.04 安装Tensorflow Object Detection API (一)

    1.安装Tensorflow 请参考官方说明及其它博客安装tensorflow,要使用Tensorflow Object Detction API,tensorflow版本需1.4及以后版本. 我的系 ...

  9. tensorflow环境下的识别食物_Tensorflow object detection API 搭建属于自己的物体识别模型——环境搭建与测试...

    1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...

最新文章

  1. python二分法求解_Python使用二分法求平方根的简单示例
  2. 不完全恢复分类与命令
  3. 什么是Spring inner beans?
  4. 网络营销教程—SEO 第八章 内部链接的优化操作
  5. 北大保安又双叒…出“传奇”!这次是挑战“天下第一考”
  6. 如何在Android中获取当前时间和日期
  7. MT4自带30项指标介绍
  8. 21天学通C语言-学习笔记(8)
  9. FishC笔记—16 讲 序列,序列
  10. 《指数基金投资指南》读书笔记
  11. 做好规划 IT项目不能再独行(zt)
  12. c语言共阴极数码管数字6,用51单片机C语言编写程序实现6位共阴极数码管循环显示0123456789ABCDEF,六个数码管是连续不同的六个数?...
  13. Pycharm 注册 Pycharm 破解 Pycharm 注册破解 亲测多法 仅此方有效 有效期至2099年
  14. 引用 和指针 ,简单, 一怔见血
  15. AutoGPT保姆级使用教程
  16. 【英语学习】【WOTD】arduous 释义/词源/示例
  17. ArduPilot之开源代码Sensor Drivers设计
  18. 人不知道自己不知道的-股市篇
  19. android使用工具性能优化
  20. html中调整lable位置右移,[转载]label标签右对齐

热门文章

  1. 我的100篇随笔纪念,关于JScript开发
  2. 【原创】MapReduce实战(一)
  3. 笔记56 | 管理网络的使用
  4. Cognos访问权限之让拒绝更友善
  5. 再论句子中单词的逆序输出
  6. 写一个函数返回参数二进制中1的个数
  7. java最基础的小总结
  8. dplyr | 数据处理函数的功能速查!dplyr包中的十类操作函数汇总(下篇)
  9. oracle进入rman报错,Oracle学习系列之Rman学习(三)
  10. java 爬虫 图片_java实现爬虫爬取小姐姐图片