tensorflow版本faster-rcnn-CPU, ubuntu, Python3.5配置记录
tensorflow版本faster-rcnn-CPU, ubuntu, Python3.5配置记录
-
-
- 写在前面的话
- 软硬件配置
- 使用Pycharm时踩的坑
- 配置流程
-
- 1.下载git上的源代码
- 2.修改lib/setup.py文件
- 3.修改lib/model/nms_wrapper.py文件
- 4.修改lib/model/config.py文件
-
-
通过Cython进行连接
- 从COCO数据集下载所需模型
- 加载已训练好的模型文件
- 执行demos/demo.py脚本
- 下一步需要执行的操作
写在前面的话
在实验室环境下完成对fasterrcnn_tensorflow版本的配置设置,并参考了许多技术博客并积累了宝贵的经验现将完整的操作步骤详细记录于此。
软硬件配置
主要涉及软件配置。由于所使用的GPU是AMD架构的设备无法应用tensorflow-GPU版本这一限制,在软件层面进行相应设置会更加灵活有效。建议采用Anaconda进行配置管理以简化这些库的安装流程。通过在AnacondaRoot目录下的bin文件夹中运行AnacondaNavigator应用程序即可启动Python包管理界面。具体推荐使用以下各版本:Python 3.5、TensorFlow 1.3.0、OpenCV 3.4.2(需同时安装带有和不带Python前缀的不同版本)、Cython 0.28.5以及PyYAML(此款软件需通过pip机制进行安装)。此外还需安装Pillow 5.2.0、Matplotlib、SciPy(此款软件亦可通过pip渠道获取)以及PyYAML等辅助库以完成完整的开发环境搭建。
使用Pycharm时踩的坑
最初尝试使用Ubuntu系统上安装的Pycharm进行项目管理时遇到了一个小问题。具体表现为:遇到的情况是,在同一工程目录下无法在同一工程目录下的二级子目录中查找Python脚本文件。例如,在处理如demo.py这样的示例代码时,在代码中导入utils模块中的nms_wrapper函数时采用的方法是:

config和nms_wrapper都属于lib文件夹下的Python文件。为了使PyCharm能够正确识别这些模块,在导入时需要前缀其所属的文件夹名称,默认情况下应配置为类似于

因为需要对多个代码块进行调整的数量较多, 因此相关操作未完成. 展望未来可能会尝试将这些代码整合到统一的开发环境中进行管理.
配置流程
1.下载git上的源代码
使用git命令克隆GitHub上的仓库路径即可获取该存储库。
在目标位置启动终端并输入此命令即可完成操作。
2.修改lib/setup.py文件
该文件位于安装根目录下的lib文件夹中,在配置中添加了必要的各个文件模块。
为了便于后续操作和避免混淆,
建议采用#逐行注释而非使用''进行整段注释。
鉴于当前使用的CPU版本特性,
在图像区域对该部分代码进行了注释处理。

请务必删除Extension( "nms.cpu_num" ...)这一部分后面的逗号,请将包含使用CUDA的行进行注释处理, 因为当前所使用的版本是基于CPU的.


在对文件进行修改并保存之后,请激活环境并运行以下命令:
python3 setup.py build_ext --inplace
该指令会将设置好的模块加载到系统中。如果未加载相应的模块,在识别过程中将无法找到对应的Python模块。
请确保及时完成上述操作以避免相关错误信息的出现。
如果您在此过程中遇到问题,请参考软件配置的相关文章或学习Anaconda的使用方法。
3.修改lib/model/nms_wrapper.py文件
访问指定目录路径后,请对包含GPU相关的代码块进行注释处理,并特别注意以下两个部分:第一,在导入相关模块的区域;第二,在处理返回结果时涉及GPU计算的代码块中,请添加详细的注释以确保功能正确性。

4.修改lib/model/config.py文件
打开该文件,将__C.USE_GPU_NMS=True修改为False

连接使用cython
在lib目录下,依次执行指令
make clean
make
cd ..
下载使用COCO数据库
在data文件夹中进行数据获取与导入操作时,请注意安装并导入COCO数据库
下载并连接已经完成训练的数据模型
该模型采用编号为voc_0712_80k-110k.tgz的格式存储,并可通过源代码 accompanying README.md文件中的目录结构进行下载。若无法获取,请访问以下链接获取镜像文件:
链接: https://pan.baidu.com/s/1dM6eygY67KzrEDbj03ZV7Q 提取码: wfby
将解压后的文件放置于data目录下进行处理。按照以下步骤操作:
第一步:设置网络参数为NET=res101
第二步:指定训练数据集为TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
第三步:创建输出目录结构output/{NET}/{TRAIN_IMDB}
第四步:进入该输出目录并创建指向训练数据集的软连接文件
运行demo.py文件
为了在源代码目录中运行程序,在源代码主目录中,我们执行 …/tools/demo.py 指令。该程序能够准确识别目标。(必须确保我们处于已经激活过的tensorflow环境中)


下一步的任务
尝试使用课题研究所用的数据集,学习使用faster-rcnn进行模型的训练
