[目标检测之路一] win10+anaconda+tensorflow object detection API 搭建及DEMO实现

写在前面的话

最近,由于科研项目上的需要,笔者开始接触基于深度学习的目标检测。今天,笔者将给大家分享在windows10上利用Anaconda完成对Tensorflow Object Detection API的环境搭建及其DEMO实现。关于该API的介绍,百度/谷歌一查一大堆,笔者就不在这里作介绍。

为什么要写这篇博客

笔者一开始在Github上找到了该API的项目(链接:https://github.com/tensorflow/models/tree/master/research/object_detection )在这上面可以看到该API的介绍以及提供的使用方法,但可惜地是,对方只提供了Linux和MacOS两种系统的安装方式。笔者在Linux上试过,安装起来的确比在windows上要方便很多,MacOS没试(其实是买不起0.0)。后来,笔者也在网上找到很多关于在windows10下安装该API的教程,于是便想试试,真是不试不知道,一试吓一跳,尝试了好多教程的方法但都没有成功,总能出现一些奇奇怪怪的BUG。不过皇天不负有心人,最后磕磕碰碰也算是完成了。因此,便想写下这篇博客,让后来人少走点弯路。
话不多说,进入今天的正题。

实现步骤

1.借助Anaconda配置API所需的基本库
2.下载tensorflow/models
3.Protobuf安装与配置
4.PYTHONPATH环境变量设置
5.测试API
6.测试DEMO

PS:笔者个人真心非常推荐Anaconda这款软件,管理环境极其好用。

1.1 安装Anaconda及创建虚拟环境
Anaconda软件安装比较简单,可以参考笔者之前的文章(链接:https://blog.csdn.net/qq_40434140/article/details/84800901 ),当然也可以网上找,教程很多,这里不赘述。软件安装最新版即可(记得用python3系列的)。
安装完成后可以在菜单中找到Anaconda Prompt,这是Anaconda Navigator对应的命令行终端,我们打开Prompt。
在这里插入图片描述
在这里插入图片描述
我们利用prompt创建一个虚拟环境,这是一个独立于系统环境的另一个环境,两者互不干扰,这是Anaconda环境管理的功能也是它最突出的优点。我们在prompt输入 conda create -n tensorflowAPI python=3.5按下回车,便可以创建一个基于python3.5的虚拟环境,其中“tensorflowAPI”是该虚拟环境的名称,你也可以取别的名字,方便自己理解就行。
出现如下图的提示信息,就说明虚拟环境已经创建完成。
在这里插入图片描述
接下来,输入conda activate tensorflowAPI 以激活该虚拟环境(或者说进入该虚拟环境)。如图所示,前面括号里从“base”变成了“tensorflowAPI”便说明成功进入该环境。
在这里插入图片描述
1.2 API所需的基本库安装
打开Anaconda Navigator软件,在左侧“Environments”选项中,可以看到我们之前创建的名为“tensorflowAPI”的虚拟环境,点击该环境,可以在右侧看到该环境中已经安装的基本库。如下图所示。
在这里插入图片描述
在该API对应的Github项目上,提供了该API所依赖的基本库,如下图所示。
在这里插入图片描述
我们在Anaconda Navigator中将“Installed”切换为“Not installed”,并在右侧搜索框输入对应库的名称,进行安装即可。以安装“protobuf”为例,进行说明。如图所示,输入“protobuf”后,下面会检索到对应的库,选择最下面一项,在右下角点击“Apply”,便会出现对应将要安装库的一些信息以及它自身所依赖的包,再点击“Apply”便会进行安装。
在这里插入图片描述
在这里插入图片描述
其他几个库都能以这样的方式安装(注意:tf Slim库除外,本文后面会介绍该库的安装方法;Python-tk及cocoapi不需要安装)
通过以上方法安装后,要注意查看tensorflow的版本,如果版本低于1.9,可以右键tensorflow,选择对应版本。如下图所示的方式更新到1.9.0版本。
在这里插入图片描述
当然,如果觉得上面的方法太繁琐,也可以在prompt中用命令行的方式进行库的安装。将当前环境切换至(tensorflowAPI),然后输入相应命令行进行安装。

  1. 安装tensorflow:pip install --upgrade tensorflow(这是CPU版本,若要安装GPU版本,可以参考我之前的博客:https://blog.csdn.net/qq_40434140/article/details/84800901
  2. 安装protobuf、Cython、pillow、lxml、jupyter、matplotlib:
    conda install protobuf
    conda install Cython
    conda install pillow
    conda install lxml
    conda install jupyter
    conda install matplotlib

2. 下载tensorflow/models
下载地址:https://github.com/tensorflow/models
在这里插入图片描述
如上图所示,从右上角所圈处下载。下载完成后解压到某一文件夹(路径可以自己设置)。
如下图所示,笔者把文件放到了“D:\TensorflowDET\models”
在这里插入图片描述

3. protobuf安装与配置
下载链接:https://github.com/protocolbuffers/protobuf/releases?after=v3.4.1
找到如图所示的protobuf-3.4.0-win32.zip,点击下载。
在这里插入图片描述
下载完成后解压压缩包,把解压后的文件夹里的文件都复制到“D:\TensorflowDET”目录下,如下图所示。
在这里插入图片描述
把bin文件夹的路径添加到环境变量的path路径中,如下图所示。
在这里插入图片描述
在“D:\TensorflowDET\models\research”目录下打开cmd命令行窗口,输入以下命令并回车:
protoc object_detection/protos/*.proto --python_out=.
如果不报错那就没问题,“D:\TensorflowDET\models\research\object_detection\protos”下会出现对应的python文件
如果报错并出现“No such File or directory”,很有可能是版本的问题,笔者推荐下载Protocol Buffers v3.4.0版本的,然后再按上述步骤运行命令一般就没问题了。

4. PYTHONPATH环境变量设置
在环境变量中的系统环境变量中新建名为“PYTHONPATH”的变量,如下图所示。
在这里插入图片描述
打开prompt,激活“tensorflowAPI”虚拟环境,将路径切换至“D:\TensorflowDET\models\research”,如下图所示,输入以下命令并回车:python setup.py install,等待程序执行完成。
在这里插入图片描述
再将路径切换至“D:\TensorflowDET\models\research\slim”,如下图所示,输入以下命令并回车:python setup.py install,等待程序执行完成。
在这里插入图片描述
如果slim文件下已经有了BUILD,需要先删掉这个,然后再python setup.py install
这就是前面提到的 tf slim 库的安装

5. 测试API
prompt中路径切换回“D:\TensorflowDET\models\research”,输入以下命令并回车:python object_detection/builders/model_builder_test.py,等待程序执行完成,不报错则说明运行成功。
至此,我们已经成功配置好API环境极其所需基本库,

6. 测试DEMO
prompt中路径切换至“D:\TensorflowDET\models\research\object_detection”,然后输入命令并回车:jupyter notebook浏览器会打开当前文件夹,点开object_detection_tutorial.ipynb,见图可知。
在这里插入图片描述
在这里插入图片描述
在新打开 的网页中,点击上方的 “Cell”-“Run All”,即下图所圈处。
在这里插入图片描述
程序运行过程中,会有一段出现warning,可以不用管,稍等一会,就可以看见DEMO演示的结果,如下图所示。
在这里插入图片描述
至此,Tensorflow object detection API的DEMO就跑了通了一次。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值