TensorFlow Object Detection API 的安装方法

机器视觉 karb0n ⋅ 于 2020-08-01 03:16:55 ⋅ 最后回复由 karb0n 2020-08-24 02:24:00 ⋅ 232 阅读

介绍

TensorFlow Object Detection API 提供了一些接口,开发者借助它可轻松构建、训练和部署目标检测模型。

Z5ucqFOARt.png

目录

  1. 安装前的检查
  2. 下载
  3. 安装其它依赖包
  4. 编译 Protobuf 库
  5. 将 Object Detection API 添加至已安装的包
  6. 测试安装是否成功

1. 安装前的检查

在2020年2月撰写本文的第一个版本时,Object Detection API (以下简称 OD API) 对 TensorFlow (以下简称 TF) 只适配了 1.15 版本。根据 OD API 在 GitHub 页面上对当前(2020年8月)版本的介绍,其目前已经增加了对 TF 2.2 的适配。
但是,由于前边的一些教程内容我们使用的是 TF 1.15,所以本文还是以 TF 1.15 为例,来介绍如何安装 OD API。所以,在进行后续步骤前,请确认你已经根据这篇文章的介绍安装好了 TF 1.15 和一些必要的依赖包

2. 下载

TensorFlow Object Detection API 是 tensorflow/models/research 中的子项,用户可根据实际应用需求只下载需要的文件,但是为了避免在后续的使用中出现问题,推荐完整安装 TF OD API,这需要下载完整的tensorflow/models
可以使用 git

git clone https://github.com/tensorflow/models.git

或者使用 wget

wget https://github.com/tensorflow/models/archive/master.zip

或者也可以直接打开 tensorflow/models 的 GitHub 页面,点击“Download ZIP”下载。
下载完成后,将下载下来的文件解压,并放置于一个不含中文和特殊符号且便于访问的路径下,例如,我的文件夹放在了 E:\objDetect\models-master 这样的目录。
然后,右键“我的电脑”,打开“属性-高级系统设置-高级-环境变量”,在系统变量中找到“Path”并选中,点编辑,根据你的文件夹所在位置添加两条记录
E:\objDetect\models-master\research # 必须根据你的文件夹实际放置位置来填写
E:\objDetect\models-master\research\slim # 必须根据你的文件夹实际放置位置来填写

3. 安装其它依赖包

若已安装好了这篇文章中介绍的依赖包,则仅需使用 conda,依次安装下列包即可。

conda install protobuf
conda install lxml
conda install tk
conda install Cython
conda install contextlib2

注:上列部分包可能无法仅通过 pip 指令安装,所以推荐使用 conda 进行安装。

4. 编译 Protobuf 库

在命令行中通过 cd 指令进入你的 models-master/research/ 目录,输入下列指令

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

什么提示都没有就运行完成,说明 Protobuf 库编译成功。

5. 将 Object Detection API 添加至已安装的包

在你的 models-master/research/ 目录下,输入下列指令

python setup.py install

等待完成即可。

6. 测试安装是否成功

在你的 models-master/research/ 目录下,输入下列指令

python object_detection/builders/model_builder_test.py

等待测试,完成后若能看到类似下图的 “OK” 即表明 TF OD API 已安装成功并基本能够正常运行。
file

本帖已被设为精华帖!
本帖由 YX 于 1月前 加精
回复数量: 2
  • MiroslavDirk
    2020-08-23 01:02:01

    最后运行的时候出现了一次ModuleNotFoundError: No module named 'nets'
    我按google上说的进了slim文件重新setup.py build&install。不过最后运行的时候没报错也没提示OK。。
    跟protoc object_detection/protos/*.proto --python_out=.的时候一样什么提示都没有,这算正常么

  • karb0n 突然发现,我发的帖子全是软件安装方法
    2020-08-24 02:24:00

    @MiroslavDirk
    ModuleNotFoundError: No module named 'nets' 可能的原因是,没有成功把 researchresearch\slim 两个目录添加进环境变量,参考上文第2节的后半部分有说明。
    运行 setup.py 有没有提示我忘记了,就是运行完成后输入 conda list 能够看到列表里边有 object-detection这样一个包,如下图。
    file
    如果第6节的内容能够成功运行完,且确实看到了 OK 的提示,就说明基本是安装成功了。

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter