一、环境搭建
1、安装python3.6.4及对应版本的Anaconda
安装包百度云链接:
链接:https://pan.baidu.com/s/1LZ-q_HMOND0L97XBrhCRgw
提取码:r0rn
2、安装Tensorflow
Tensorflow有CPU版本与GPU版本
通过pip命令安装CPU版本: pip install tensorflow
通过pip命令安装GPU版本: pip install tensorflow-gpu
如果速度太慢,可使用清华镜像:
pip install (包名称) -i https://pypi.tuna.tsinghua.edu.cn/simple
测试tensorflow:
打开命令行,输入python进入python环境
在输入import tensorflow as tf
不报错即可,如果出现警告,可能是因为部分包的版本太高的问题
测试tensorflow-gpu:
打开命令行,输入python进入python环境
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
出现类似输出结果即为安装成功
Sample Output
[name: "/cpu:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 4402277519343584096,
name: "/gpu:0" device_type: "GPU" memory_limit: 6772842168 locality { bus_id: 1 } incarnation: 7471795903849088328 physical_device_desc: "device: 0, name: GeForce GTX 1070, pci bus id: 0000:05:00.0" ]
3、安装CUDA、cuDNN
对于tensorflow-gpu还需另外安装CUDA、cuDNN
本人的tensorflow-gpu版本: 1.13.1
CUDA版本: 10.0
CUDA安装包百度云链接(是一个exe文件,双击安装):
链接:https://pan.baidu.com/s/1OEUeFEOWfn7B-WjsvNCbxA
提取码:w7h8
对应的cuDNN百度云链接:
链接:https://pan.baidu.com/s/105DpHyz5T9q7lpvMNNFz3g
提取码:a0r1
CUDA10.0环境配置:
右击 我的电脑属性–>高级系统设置–>环境变量–>系统变量
看CUDA10.0安装完成后是否含有CUDA_PATH和CUDA_PATH_V10_0这两个变量
另外再在Path变量中添加CUDA10.0安装路径中bin、include、x64文件夹路径
试CUDA10.0是否安装成功:
打开命令提示符,输入:nvcc -V
出现如下类似信息即为成功
解压cuDNN,将解压后的cuDNN补丁文件夹中的文件添加到CUDA安装路径中的对应文件中
4、下载Tensorflow object detection API
百度云链接:
链接:https://pan.baidu.com/s/1seskN92ICdsRi9_kX0C4pQ
提取码:or4m
在D盘Develop文件夹中新建tensorflow文件夹,将解压后的model文件夹放入tensorflow文件夹
5、Protobuf 安装与配置
Protobuf 百度云链接:
链接:https://pan.baidu.com/s/1uxVE3Ynnw7KXRwbvhJ8f1Q
提取码:l6nh
将解压后将bin文件夹中的 protoc.exe 放到C:\Windows 中
在models\research\目录下打开命令行窗口,输入:
protoc object_detection\protos\anchor_generator.proto --python_out=.
protoc object_detection\protos\argmax_matcher.proto --python_out=.
protoc object_detection\protos\bipartite_matcher.proto --python_out=.
protoc object_detection\protos\box_coder.proto --python_out=.
protoc object_detection\protos\box_predictor.proto --python_out=.
protoc object_detection\protos\calibration.proto --python_out=.
protoc object_detection\protos\eval.proto --python_out=.
protoc object_detection\protos\faster_rcnn.proto --python_out=.
protoc object_detection\protos\faster_rcnn_box_coder.proto --python_out=.
protoc object_detection\protos\graph_rewriter.proto --python_out=.
protoc object_detection\protos\grid_anchor_generator.proto --python_out=.
protoc object_detection\protos\hyperparams.proto --python_out=.
protoc object_detection\protos\image_resizer.proto --python_out=.
protoc object_detection\protos\input_reader.proto --python_out=.
protoc object_detection\protos\keypoint_box_coder.proto --python_out=.
protoc object_detection\protos\losses.proto --python_out=.
protoc object_detection\protos\matcher.proto --python_out=.
protoc object_detection\protos\mean_stddev_box_coder.proto --python_out=.
protoc object_detection\protos\model.proto --python_out=.
protoc object_detection\protos\multiscale_anchor_generator.proto --python_out=.
protoc object_detection\protos\optimizer.proto --python_out=.
protoc object_detection\protos\pipeline.proto --python_out=.
protoc object_detection\protos\post_processing.proto --python_out=.
protoc object_detection\protos\preprocessor.proto --python_out=.
protoc object_detection\protos\region_similarity_calculator.proto --python_out=.
protoc object_detection\protos\square_box_coder.proto --python_out=.
protoc object_detection\protos\ssd.proto --python_out=.
protoc object_detection\protos\ssd_anchor_generator.proto --python_out=.
protoc object_detection\protos\string_int_label_map.proto --python_out=.
protoc object_detection\protos\train.proto --python_out=.
不出错即可
6、PYTHONPATH 环境变量设置
右击 我的电脑属性–>高级系统设置–>环境变量–>系统变量
新建名为 PYTHONPATH 的变量
值为 research、object_detection、slim文件夹的路径
接下来可以测试API,在 research 文件夹下运行命令:
python object_detection/builders/model_builder_test.py
不报错说明运行成功。
二、测试自带案例
进入 object_detection 文件夹下,shift+鼠标右击
输入jupyter notebook,就会调用浏览器打开当前文件夹,
点击object_detection_tutorial.ipynb
点击上方的 “Cell”–>“Run All” 开始运行自带案例
就可以直接看到结果,最后输出的是两张图片的识别结果,分别是狗,以及沙滩。
至此Tensorflow object detection API 的环境搭建与测试自带案例完成。
下一步我们可以在此基础上对代码进行适当的修改,可以用已有的模型来检测自己的图片,甚至视频,并输出结果。