参考:

https://blog.csdn.net/dy_guox/article/details/79081499

https://blog.csdn.net/u010103202/article/details/79899293

https://www.jianshu.com/p/4ebaa78e0233

一、开发环境搭建

操作系统:Windows10 64位

TensorFlow:1.8

python:3.5

1.安装tensorflow_gpu版本的环境:

1)安装.Net Framework4.6

下载页面的链接为:https://www.microsoft.com/en-us/download/details.aspx?id=53344
下载页面如下图所示,点击下图红色箭头标注处即可开始下载:

点击Download按钮,其实是向资源链接发起请求,所以直接访问资源链接同样可以开始下载任务。
下载链接:https://www.microsoft.com/en-us/download/confirmation.aspx?id=53344

下载好直接双击,一路next

2)安装CUDA9.0

下载见:https://www.jianshu.com/p/c73668544925

安装默认路径就好,一路下一步,如果提示兼容性不兼容请无视,安装模式选择精简,下一步勾选下图中的上方红色方框标注处,然后NEXT按钮会亮起。
点击下图中的下方红色箭头标注处中的NEXT按钮,进入下一步。

注意: 对应的显卡驱动,如果驱动较新,在安装CUDA的时候会有提示可能不兼容,可以无视。

接下来就等待安装就好,结束界面中两个可选项不用勾选
点击下图中的下方红色箭头标注处中的关闭,安装CUDA9.0结束。。

3)安装cudnn7.3

下载见:https://www.jianshu.com/p/4ebaa78e0233

下载后解压,将文件夹cuda中有3个文件夹:bin、include、lib,和1个文件NVIDIA_SLA_cuDNN_Support.txt复制粘贴到CUDA安装路径下

本文作者的CUDA安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

4)安装tensorflow_gpu

第一种方法

下载见:https://www.jianshu.com/p/4ebaa78e0233

运行pip install命令安装本地WHL文件

在放tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl的文件夹打开cmd,在cmd中输入命令:pip install tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl,然后按Enter键运行命令。

最后出现Successfully开头即为成功。

第二种方法:

Tensorflow有CPU版本与GPU版本,首先安装CPU版本。采用pip原生安装。“开始-Anaconda3-Anaconda Prompt”调出命令行。

pip install --upgrade tensorflow然后安装GPU版本。此过程中有报错,

先运行conda install pip更新pip程序即可。

pip install --upgrade tensorflow-gpu

运行pip install命令安装msgpack库

考虑到部分读者可能没有安装运行tensorflow必需的msgpack库
在cmd中输入命令:pip install msgpack,然后按Enter键运行命令。

二.测试自带案例

1.安装object detection API环境

1、下载TensorFlow object detection API

https://github.com/tensorflow/models

我们需要的目标检测在model文件夹下的research文件夹里

也可以直接访问:

https://github.com/tensorflow/models/tree/master/research/object_detection

下载代码库

在models代码库的界面中,有下载整个代码库的按钮,如下图红色箭头标注处所示:

下载到本地目录(避免中文),解压。

2.下载Protobuf

目的是将proto文件转成py文件

Protobuf(Google Protocol Buffers)是google开发的的一套用于数据存储,网络通信时用于协议编解码的工具库。它和XML和Json数据差不多,把数据已某种形式保存起来。Protobuf相对与XML和Json的不同之处,它是一种二进制的数据格式,具有更高的传输,打包和解包效率。
下载Protobuf网址:https://github.com/google/protobuf/releases
下载Protobuf网址页面如下图所示,下图中红色箭头标注处是Protobuf在操作系统Windows中可以直接运行的protoc程序,下载该压缩文件protoc-3.4.1-win32.zip

将压缩文件protoc-3.4.1-win32.zip解压后的bin文件夹protoc.exe复制到路径:C:\\Windows

将object_detection\protos文件夹下的.proto文件转成.py

可以看到有很多proto文件

第一种方法

用这段代码将object_detection\protos文件夹下的.proto文件转成.py,只需将E:\目标检测\models-master\research\object_detection\protos/改成你的文件路径

 import os
file_list = os.listdir(r'E:\目标检测\models-master\research\object_detection\protos/')
proto_list = [file for file in file_list if '.proto' in file]
print('object_detection/proto文件夹中共有%d个proto文件' %len(proto_list))
for proto in proto_list:
execute_command = 'protoc object_detection/protos/%s --python_out=.' %proto
os.popen(execute_command)
file_list = os.listdir(r'E:\目标检测\models-master\research\object_detection\protos/')
py_list = [file for file in file_list if '.py' in file]
print('通过protoc命令产生的py文件共有%d个' %(len(py_list) - ))

结果是:

object_detection/proto文件夹中共有29个proto文件
通过protoc命令产生的py文件共有29个

就是修改成功,你可以进入protos文件夹查看每个proto文件下都有一个对应的py文件。

第二种方法:

protoc object_detection/protos/*.proto --python_out=.

在这一步有时候会出错,可以尝试把/*.proto 这部分改成文件夹下具体的文件名,一个一个试,每运行一个,文件夹下应该

出现对应的.py结尾的文件。不报错即可

3、PYTHONPATH 环境变量设置

在 ‘此电脑’-‘属性’- ‘高级系统设置’ -‘环境变量’-‘系统变量’ 中新建名为‘PYTHONPATH’的变量,将

models/research/ 及 models/research/slim 两个文件夹的完整目录添加,分号隔开。

接下来可以测试API,在 models/research/ 文件夹下运行命令行:

python object_detection/builders/model_builder_test.p

不报错说明运行成功。

4.测试自带案例

“开始-Anaconda3-Anaconda Prompt”调出命令行,改变工作目录至 models\research\object_detection

然后输入jupyter notebook,就会调用浏览器打开当前文件夹,点开 object_detection_tutorial.ipynb,

在新标签页中打开 Object Detection Demo,点击上方的 “Cell”-"Run All",

就可以直接看到结果,最后输出的是两张图片的识别结果,分别是狗,以及沙滩。第一次运行由于需要下载训练好的模型,耗时较长。第二次之后可以将 .ipynb文件中 Download Model 即 in[5]部分的代码注释掉,以加快运行速度。

如果在notebook中运行有问题,可以将.ipynb中in[]的代码复制到.py中,然后在 开始-Anaconda3-spyder 中运行。

至此Tensorflow object detection API 的环境搭建与测试工作完成。





Tensorflow object detection API(1)---环境搭建与测试的更多相关文章

  1. ubuntu Tensorflow object detection API 开发环境搭建

    https://blog.csdn.net/dy_guox/article/details/79111949 luo@luo-All-Series:~$ luo@luo-All-Series:~$ s ...

  2. Tensorflow object detection API ——环境搭建与测试

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

  3. 使用Tensorflow object detection API——环境搭建与测试

    [软件环境搭建] 操作系统:windows 10 64位 内存:8G CPU:I7-6700 Tensorflow: 1.4 Python:3.5 Anaconda3 (64-bit) 以上环境搭建请 ...

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

    一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorfl ...

  5. Tensorflow object detection API 搭建物体识别模型(二)

    二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面 ...

  6. Tensorflow object detection API 搭建属于自己的物体识别模型

    一.下载Tensorflow object detection API工程源码 网址:https://github.com/tensorflow/models,可通过Git下载,打开Git Bash, ...

  7. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

  8. Tensorflow object detection API 搭建物体识别模型(三)

    三.模型训练 1)错误一: 在桌面的目标检测文件夹中打开cmd,即在路径中输入cmd后按Enter键运行.在cmd中运行命令: python /your_path/models-master/rese ...

  9. 谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程

    视频中的物体识别 摘要 物体识别(Object Recognition)在计算机视觉领域里指的是在一张图像或一组视频序列中找到给定的物体.本文主要是利用谷歌开源TensorFlow Object De ...

随机推荐

  1. Linux 基础学习1

    目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...

  2. HTML5 结构标签

    一.定义标题栏:header header 元素是一种具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区块的标题,但也可以包含其他内容,因此整个页面的标题应该放在页面的开头. he ...

  3. go语言 goquery爬虫

      goquery 类似ruby的gem nokogiri goquery的选择器功能很强大,很好用.地址:https://github.com/PuerkitoBio/goquery 这是一个糗百首 ...

  4. ES2015简介和基本语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015.也就是说,ES6就是ES2015. ...

  5. PCM时序

    PCM(Pulse Code Modulation),脉冲编码调制,PCM总线用于传输数字语音信号,包括4根信号线:FSYNC(同步)/PCLK(时钟)/DTX(发送)/DRX(接收) PCM分为Ma ...

  6. 云计算第二阶段shell脚本

    pstree               #查看进程树 cat /etc/shells       #查看系统安装的所有shell解释器 yum -y install ksh             ...

  7. 洛谷 P1280 尼克的任务题解

    题目链接:https://www.luogu.org/problem/P1280 题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每 ...

  8. 过采样中用到的SMOTE算法

    平时很多分类问题都会面对样本不均衡的问题,很多算法在这种情况下分类效果都不够理想.类不平衡(class-imbalance)是指在训练分类器中所使用的训练集的类别分布不均.比如说一个二分类问题,100 ...

  9. 零基础Python教程-详说list有序集合

    list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出你周围同事的名字,就可以用一个list表示: >>> classmates = ['Michael', 'Bob' ...

  10. C语言蓝桥杯比赛原题和解析

    蓝桥杯:在计算机编程领域,是具有一定含金量的竞赛,用于选拔信息技术人才. 一般分为多个领域,其中包含了C/C#/C++/Java/Python等编程语言的测试题,多为算法的设计题. 下面,在搜题过程中 ...