【tensorflow】object detection API配置

Ubuntu16.04下的配置

源代码在:https://github.com/tensorflow/models,其中我们所用到的在https://github.com/tensorflow/models/tree/master/research/object_detection中,因为其中用到了slim和其他tensorflow库,因此直接从models这一级clone下来即可

在具体的配置之前要安装 cuda9.0,cudnn7.3,以及tensorflow1.12.0,目前这一套配置截止到2019年12月运行无误。其他相关的依赖可以参照官方安装教程

一定要看教程,官方说的很清楚

这里主要说下我踩坑的地方

1、protobuf的编译(以下作废,直接采用官网教程

在官方的安装教程中最重要的一部分就是(运行下面代码的过程中,把*改为具体的名称,一个一个运行):

# From tensorflow/models/research/
protoc object_detection/protos/*.proto --python_out=.

这个需要protobuf的支持,并且在官方的安装教程中,已经提醒过要安装protobuf-python,因此你在终端输入protoc --version,应该会显示已安装的版本信息。对于ubuntu16.04来说,采用sudo apt-get install protobuf-python指令安装的protobuf版本是2.5.1。

然而如果你以2.5.1这个版本,对ssd.proc进行编译时,可能会出现如下的错误:

Expected "required", "optional", or "repeated".

出现这种错误的原因就是protobuf的版本过低,实际需要的至少要3.0以上的版本。

所以我就利用pip install protobuf安装了最新的protobuf,版本是3.6.1.

可是再次运行还是会出现错误,同时你在终端输入protoc --version,显示的仍是2.5.1的版本。正确的做法应该是手动安装protobuf:

(1)在编译前需要安装一些依赖项,否则运行(2)中的第四行指令会报错

sudo apt-get install autoconf automake libsigsegv2 m4

####以下内容可以废了

(2)运行下面指令

$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.

我在运行make check的过程中出错了,但是官方说出错不影响安装,我就继续安装了,安装完毕后查看protoc的版本为3.6.1。

###

直接采用官网的教程即可

2、为API添加环境变量

如果不添加环境变量可能会出现:no module named net的报错。此外每次用终端进行训练的时候都必须输入

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

非常麻烦,因此还是添加为好

在终端输入:

sudo gedit ~/.bashrc

在其中添加:

export PYTHONPATH=$PYTHONPATH:/home/yantianwang/clone/models-master/research:/home/yantianwang/clone/models-master/research/slim

其中的两个路径分别为models-master/research/和tmodels-master//research/slim,也就是你自己的models-master/的绝对路径下的research和slim路径。

但是有一点不明白的是我在/etc/profile中添加上述的环境变量就没有用,不知道为什么,还请大神指示。

因为是在bash中添加了环境变量,因此如果要在spyder中进行调试。就要从终端区中启动spyder

3、测试

终端输入,不报错即可。

python object_detection/builders/model_builder_test.py

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow Object Detection API 是一个开源项目,它提供了一系列基于 TensorFlow 的工具和库,用于实现目标检测任务。对于 macOS 系统,我们可以通过以下步骤来使用 TensorFlow Object Detection API: 1. 安装 TensorFlow:在 macOS 上安装 TensorFlow 是使用 TensorFlow Object Detection API 的前提。你可以通过 pip 命令进行安装,例如在终端中执行 `pip install tensorflow`。 2. 下载 TensorFlow Object Detection API:打开终端并导航到适合你的工作目录中,然后使用 git 命令来克隆 TensorFlow Object Detection API 的 GitHub 仓库,例如执行 `git clone https://github.com/tensorflow/models.git`。 3. 安装依赖项:进入克隆的模型目录中,找到 research 文件夹并进入。然后运行 `pip install -r object_detection/requirements.txt` 命令来安装所需的依赖项。 4. 下载预训练模型:在 TensorFlow Object Detection API 中,我们可以使用预训练的模型来进行目标检测。你可以从 TensorFlow Model Zoo 中下载适合你任务的模型,并将其解压到你的工作目录中。 5. 运行实例代码:在 research/object_detection 目录中,你可以找到一些示例代码,用于训练、评估和使用目标检测模型。可以通过阅读这些示例代码并根据自己的需求进行修改。例如,你可以使用 `python object_detection/builders/model_builder_tf2_test.py` 命令来运行一个模型的测试。 以上是在 macOS 上使用 TensorFlow Object Detection API 的基本步骤,你可以根据你的具体需求进行更多的深入研究和调整。希望这些信息能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值