tensorflow利用预训练模型进行目标检测

一、安装

首先系统中已经安装了两个版本的tensorflow,一个是通过keras安装的, 一个是按照官网教程https://www.tensorflow.org/install/install_linux#InstallingNativePip使用Virtualenv 进行安装的,第二个在根目录下,做标记以防忘记。

安装教程:

使用 Virtualenv 进行安装
请按照以下步骤使用 Virtualenv 安装 TensorFlow:

发出下列其中一条命令来安装 pip 和 Virtualenv:

$ sudo apt-get install python-pip python-dev python-virtualenv # for Python 2.7
$ sudo apt-get install python3-pip python3-dev python-virtualenv # for Python 3.n
发出下列其中一条命令来创建 Virtualenv 环境:

$ virtualenv --system-site-packages targetDirectory # for Python 2.7
$ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n
targetDirectory 用于指定 Virtualenv 树的顶层目录。我们的指令假定 targetDirectory 为 ~/tensorflow,但您可以选择任何目录。

通过发出下列其中一条命令激活 Virtualenv 环境:

$ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh
$ source ~/tensorflow/bin/activate.csh  # csh or tcsh
$ . ~/tensorflow/bin/activate.fish  # fish
执行上述 source 命令后,您的提示符应该会变成如下内容:

(tensorflow)$ 
确保安装了 pip 8.1 或更高版本:

(tensorflow)$ easy_install -U pip
发出下列其中一条命令以在活动 Virtualenv 环境中安装 TensorFlow:

(tensorflow)$ pip install --upgrade tensorflow      # for Python 2.7
(tensorflow)$ pip3 install --upgrade tensorflow     # for Python 3.n
(tensorflow)$ pip install --upgrade tensorflow-gpu  # for Python 2.7 and GPU
(tensorflow)$ pip3 install --upgrade tensorflow-gpu # for Python 3.n and GPU
如果上述命令执行成功,请跳过第 6 步。如果上述命令执行失败,请执行第 6 步。

(可选)如果第 5 步执行失败(通常是因为您所调用的 pip 版本低于 8.1),请通过发出以下格式的命令,在活动 Virtualenv 环境中安装 TensorFlow:

(tensorflow)$ pip install --upgrade tfBinaryURL   # Python 2.7
(tensorflow)$ pip3 install --upgrade tfBinaryURL  # Python 3.n 
其中 tfBinaryURL 表示 TensorFlow Python 软件包的网址。tfBinaryURL 的正确值取决于操作系统、Python 版本和 GPU 支持。可在此处查找适合您系统的 tfBinaryURL 值。例如,如果您要为装有 Python 3.4 的 Linux 安装仅支持 CPU 的 TensorFlow,则发出以下命令以在活动 Virtualenv 环境中安装 TensorFlow:

(tensorflow)$ pip3 install --upgrade 

 https://download.tensorflow.google.cn/linux/cpu/tensorflow-1.8.0-cp34-cp34m-linux_x86_64.whl
如果您遇到任何安装问题,请参阅常见的安装问题。

后续步骤
安装 TensorFlow 后,请验证安装。

请注意,每次使用 TensorFlow 时,您都必须激活 Virtualenv 环境。如果 Virtualenv 环境当前未处于活动状态,请调用以下命令之一:

 $ source ~/tensorflow/bin/activate      # bash, sh, ksh, or zsh
$ source ~/tensorflow/bin/activate.csh  # csh or tcsh
在 Virtualenv 环境激活后,您就可以从这个 shell 运行 TensorFlow 程序。您的提示符将变成如下所示,这表示您的 Tensorflow 环境已处于活动状态:

(tensorflow)$ 
用完 TensorFlow 后,可以通过发出以下命令调用 deactivate 函数来停用环境:

(tensorflow)$ deactivate 
提示符将恢复为您的默认提示符(由 PS1 环境变量所定义)。

卸载 TensorFlow
要卸载 TensorFlow,只需移除您创建的树即可。例如:

$ rm -r targetDirectory 
View Code

二、目标检测

参考链接:https://www.cnblogs.com/qcloud1001/p/7677661.html  https://lijiancheng0614.github.io/2017/08/22/2017_08_22_TensorFlow-Object-Detection-API/

Tensorflow在更新1.0版本之后多了很多新功能,其中放出了很多用tf框架写的深度网络结构(https://github.com/tensorflow/models ),大大降低了开发难度,利用现成的网络结构,无论fine-tuning还是重新训练方便了不少。最近笔者终于跑通TensorFlow Object Detection API的ssd_mobilenet_v1模型,这里记录下如何完整跑通数据准备到模型使用的整个过程,相信对自己和一些同学能有所帮助。

Object Detection API提供了5种网络结构的预训练的权重,全部是用COCO数据集进行训练,这五种模型分别是SSD+mobilenet、SSD+inception_v2、R-FCN+resnet101、faster RCNN+resnet101、faster RCNN+inception+resnet101。各个模型的精度和计算所需时间如下。下面及介绍下如何使用Object Detection去训练自己的模型。

猜你喜欢

转载自www.cnblogs.com/vactor/p/9816039.html