如何在windows系统上安装Tensorflow Object Detection API?

前言

都说Linux是最适合程序员使用的操作系统,这话还真不假。

之前一直在云服务器上跑代码,近期接手了师兄的台式机(GTX 1050),虽然配置很渣,但想在本地玩玩看,于是乎先安装一波Tensorflow Object Detection API。

之前云服上配置的时候十分顺利,可是到了windows下很容易进坑,这里简单整理下踩坑后的总结。

目录

大致的安装步骤其实差不多,只是在些细节上会遇到坑,在这些坑上注意避免即可。

  • 从GitHub下载官方的存储库

  • 依赖库的安装

  • 用protobuf解析API中的一些文件

  • 测试API是否安装成功

  • 运行官方教程中的代码查看效果

具体操作

不谈基本依赖库和框架版本的教程就是耍流氓!

相信在各种博客上查找教程的小伙伴们一定有这种感觉吧。所以先说下自己的版本情况:

  • Tensorflow-gpu-1.10.0

  • cuda9

  • cuDNN7

  • Python3.6.8

  • Protobuf3.7.1

从GitHub下载官方存储库

官方github网站链接为:
https://github.com/tensorflow/models

在本地建立文件夹用于存储(这个自定义即可),然后将官方存储库下载到本地,至于是下载压缩包还是直接git取决于个人喜好就好。下图即为小詹的本地截图。

640?wx_fmt=png


依赖库的安装

想运行官方教程,需要的第三方库有:pillow、lxml、Cython、jupyter、matplotlib、pandas等,如果使用anoconda安装的Python,大多数第三方库已经有啦。缺少第三方库的直接pip install就好了。

另外就是安装TensorFlow,CUDA,cuDNN了,这里主要是注意版本对应关系,其他的问题应该不大。

640?wx_fmt=png

用protobuf解析API中的一些文件

官方API需要使用一些proto文件,这里需要用protobuf将其转换为Python的可运行代码格式。这些文件放置在官方库的research\object_detection\protos路径下。

640?wx_fmt=png


这里需要使用protobuf将其转换格式,官方给的转换执行语句是:


#小詹提醒:在model/research路径下打开cmd执行下语句
protoc object_detection/protos/*.proto --python_out=.

这里就涉及到protoc到版本了,如前面所述,小詹下载TensorFlow-gpu1.10.0点时候自带了protobuf3.7.1。直接执行这语句会提示:No such file.

640?wx_fmt=png

是一个小坑了,查阅到官方的issue,有前辈们说说版本小bug,不支持正则查找。有两种方法,小詹亲测有效。

方法一:去官网查找下载使用protoc3.4.0版本,官方地址:https://github.com/protocolbuffers/protobuf/releases
方法二:不支持正则,可以考虑一个个proto文件进行处理转换,这个在量不大的时候可以这么做。小詹这里把逐个进行转换命令语句放置在下面,如果你需要可以复制粘贴即可。

protoc .\object_detection\protos\anchor_generator.proto .\object_detection\protos\argmax_matcher.proto .\object_detection\protos\bipartite_matcher.proto .\object_detection\protos\box_coder.proto .\object_detection\protos\box_predictor.proto .\object_detection\protos\eval.proto .\object_detection\protos\faster_rcnn.proto .\object_detection\protos\faster_rcnn_box_coder.proto .\object_detection\protos\grid_anchor_generator.proto .\object_detection\protos\hyperparams.proto .\object_detection\protos\image_resizer.proto .\object_detection\protos\input_reader.proto .\object_detection\protos\losses.proto .\object_detection\protos\matcher.proto .\object_detection\protos\mean_stddev_box_coder.proto .\object_detection\protos\model.proto .\object_detection\protos\optimizer.proto .\object_detection\protos\pipeline.proto .\object_detection\protos\post_processing.proto .\object_detection\protos\preprocessor.proto .\object_detection\protos\region_similarity_calculator.proto .\object_detection\protos\square_box_coder.proto .\object_detection\protos\ssd.proto .\object_detection\protos\ssd_anchor_generator.proto .\object_detection\protos\string_int_label_map.proto .\object_detection\protos\train.proto .\object_detection\protos\keypoint_box_coder.proto .\object_detection\protos\multiscale_anchor_generator.proto .\object_detection\protos\graph_rewriter.proto --python_out=.

经过小坑,选择解决方法后应该就处理完所有的proto文件,转换成啦对应的py文件。

640?wx_fmt=png

测试API是否安装成功

测试API是否安装成功可以在research路径下执行下列语句:

python object_detection/builders/model_builder_test.py

这里肯定是不行的,因为还没有将必要的路径加入PYTHON环境中。会出现各种报错,诸如不能导入****pb之类的或者导入错误之类的。

网上教程有的说要先在Anaconda\Lib\site-packages  文件夹下新建一个txt文件,输入对应路径后改名tensorflow_model.pth的,也有其他说法的。

小詹最后亲测有效的是直接添加设置即可。将\models;\models\research;\models\research\slim;三个路径加入pythonpath中,代码执行如下:(注意前方路径要换成你自己的)

set PYTHONPATH=E:\Jan_Project\tf_models;E:\Jan_Project\tf_models\research;E:\Jan_Project\tf_models\research\slim

设置后再次执行测试语句没有报错,表示设置完成。

640?wx_fmt=png

运行官方教程中的代码查看效果

官方的目标检测教程路径在第一步git到本地的文件中,路径为:

models/research/object_detection/object_detection_tutorial.ipynb

可以中jupyter中打开运行,成功执行结果如下图。

640?wx_fmt=png

以上就是中windows系统安装Tensorflow Object Detection API的过程。注意版本问题和环境问题即可。

祝好!

推荐阅读:
动态规划问题学习笔记!

640?wx_fmt=png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值