Object Detection API【Tensorflow 2.3版本 WIN10】
一、安装
1.Anaconda Python 3.8.5
在Tensorflow 2.X版本中,不再像区分于Tensorflow 1.X区分于tensorflow与tensorflow-gpu,仅需要通过pip或conda安装tensorflow,其自会检查是否支持GPU,尽管你可以选择不安装Anaconda包管理,但或许安装过程中会增添许多不必要的麻烦。
软件 | 链接 |
---|---|
Anaconda Python 3.8.5 | 下载最新版本,根据需求选择64或32位 |
提示:下载完成后,按照引导逐步Next即可,要注意的是,提示添加到系统环境变量时,可不勾选,安装后根据需求,在Anaconda Promt中操作,或后续手动添加至环境变量中。
环境变量配置,在Path中添加以下字段,其中:
<Contents>是你的Anaconda安装路径,例如D:\Users\jay\anaconda3
#共添加三条
1.<Contents>
2.<Contents>\Scripts
3.<Contents>\Library\bin
添加完成后,按住【**WIN+R**】,呼出【**运行**】输入【**cmd**】,按【**回车**】打开控制台;
输入:
conda -V
至此,安装好Anaconda。
2.配置虚拟环境
倘若没有配置conda源,有可能会以极慢的速度下载conda虚拟环境所需要的package,建议按以下步骤配置conda源,在控制台终端中输入:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --setshow_channel_urls yes
继而,输入命令,创建新的虚拟环境;
conda create -n oda_tf_2.3 python=3.8 pip -y
配置完成后,会进行**done**提示,继续往下操作;
conda activate oda_tf_2.3
conda install cudatoolkit=10.1 cudnn=7.6.5 -y #这里我安装的都是基于GPU的版本,想用CPU的朋友可以跳过此步。
我这里因为已经下载过cuda和cudnn的package,缓存下再次配置无需再下载所以速度较快;
继续往下,安装tensorflow:
注意:如果没有配置pip源地址,可能会以极低的速度下载,建议对pip源进行配置,以下是用命令行指定国内源,但每次都需要指定,较为麻烦;
pip install tensorflow==2.3 --use-feature=2020-resolver -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,输入以下命令,验证tensorflow是否安装成功:
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
显示你的显存,以及成功输出tensor;
至此,tensorflow的运行环境搭建基本完成。
3.配置ODA【Object Detection API】
Tensorflow Object Detection API 有许多版本,我尝试过1.X版本相对来说较为成熟,指的是配置过程中出现的问题相对较少,或问题已得到解决,整个流程中,必然会有存在一些我也未曾预料到的问题,可以到官网的issue中去查解。
首先,下载Tensorflow Object Detection API最新版本:
- 进入官网 G i t h u b Github Github,直接右上角 D o w n l o a d Download Download
- 通过 g i t git git命令下载,这个速度相对较慢
下载后,会得到models-master文件夹,将它放在一个单独的位置,后续仍会用到它的地址,例如:
在这里,我的路径是:D:\PythonProject\oda_tf_2.3,直接在地址栏中输入cmd
打开新的终端,在终端中输入以下命令:
conda activate oda_tf_2.3
在这里,我们要首先把models下的models、models\research、research\slim以及models\official添加到环境变PATHONPATH当中;
于此,我只是将其临时添加,关闭控制台后即会失效,环境变量的配置方法与第一节的anaconda配置方法一样。
#输入命令
set PYTHONPATH=D:\PythonProject\oda_tf_2.3\models;D:\PythonProject\oda_tf_2.3\models\research;D:\PythonProject\oda_tf_2.3\models\research\slim;D:\PythonProject\oda_tf_2.3\models\official
请注意:以上的models、models\research、research\slim以及models\official要相对于你的models文件夹路径,勿直接拷贝
# 输入命令验证
echo %PYTHONPATH%
继续往下操作,输入命令:
conda install protobuf -y
cd models\research
处于虚拟环境oda_tf_2.3、文件夹models\research下,继续往下操作:
# From within models/research/
for /f %i in ('dir /b object_detection\protos\*.proto') do protoc object_detection\protos\%i --python_out=.
pip install matplotlib pillow lxml contextlib2 cython opencv-python IPython tf_slim pyyaml --use-feature=2020-resolver -i https://pypi.tuna.tsinghua.edu.cn/simple
接下来是较为麻烦的一部分,即在win10下安装COCO API;
可通过以下命令,进行安装:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
但是呢,经常需要很久的时间去安装,因为网络问题,我的解决办法是将COCO API的github项目拷贝到gitee码云下;
然后再替换pip的链接地址,例如:
pip install git+https://gitee.com/jaychen969696/cocoapi.git#subdirectory=PythonAPI
再进行安装,如此可以解决网络的问题,我也曾从官网github上pip下来,但花费的时间较长,又转存到gitee上的操作不难,clone完成后;
替换我上面命令中的部分,即可,遂不再这里细述。
在models/research/文件目录下,往下操作:
# From within models/research/
python object_detection/builders/model_builder_tf2_test.py
至此,虽然上述的model_builder_tf2_test.py中有一个错误,但大体的环境算是搭建好了,同时也可以用GPU进行训练,下一步就是开始准备自己的数据集,利用预训练模型进行训练,预测等等,这些我会在下一步中继续记录。
二、训练【To Do】
Reference
【Object Detection API 官方 github】
【Object Detection API Tensorflow1.x版本实现】
【Object Detection API的实现】