配置faster-rcnn的tensorflow和caffe版本遇到的问题总结

本文总结了Faster-RCNN部署过程中遇到的多种技术问题及其解决方案,包括TypeError、编译错误、依赖库版本冲突等,并分享了具体的解决步骤。

因为本人太懒,所以不会是解决了一个问题就把问题搜集起来,而是等所有弄完了才想到写个总结,所以问题出现的顺序并不与过程出现的顺序一致,问题解决方式也多以给他人博客的链接的形式阐述。

1、TypeError numpy.float64 object cannot be interpreted as an index。
这是在已经配置完faster-rcnn后训练一半时报出的问题,错在numpy的版本,试着用
降低numpy版本的方法,但是又报 ImportError: numpy.core.multiarray failed to import的错误
最后根据这篇博客的问题五方法解决了

2、argument of type “cudnnActivationMode_t” is incompatible with parameter of type
这是在make py-faster-rcnn下的caffe-fast-rcnn时出现的,但是我在git clone 下的caffe make就没事,所以我把py-faster-rcnn/caffe-fast-rcnn-src-caffe-layers下的cudnn有关的文件全部替换为caffe下的该些文件,解决。

3、libjpeg.so.9, needed by /home/…/anaconda2/lib/libopencv_imgcodecs.so, not found
这些opencv包括hdf5以及protocbuffer的一些版本问题,我搞了好久,源于自己在Makefile.config中配置的不仔细。
因为我用的是anaconda2环境,所以我把里面的ANACONDA_HOME以及紧跟着下面的PYTHON_INCLUDE的解注释了,但是我全忘了解开下面的PYTHON_LIB=$(ANACONDA_HOME)/lib,所以以至于我的python 用的lib还是在usr/lib下的,造成了一堆包的版本原因,希望有发生类似错误的先检查一下这里,还有就是如果提示哪里文件找不到可以先用“locate 该文件名”命令 确认一下是没有安装还是安装的地方没有在Makefile.config中配置。

4、安装tensorflow后安装caffe protobuf版本不对的问题
这个我看网上说先安装tensorflow后安装caffe很难安装,所以我是把先装的tensorflow卸了才装上caffe的。具体以后如果还要用tensorflow则再看。

### Faster-RCNNFaster-rcnn 的命名差异及实现上的区别 #### 命名差异 "Faster-RCNN" "Faster-rcnn" 主要体现在大小写的不同上。这种差异通常并不表示两种完全不同的算法或框架,而是可能源于不同开发者、团队或者文档中的书写习惯[^1]。在计算机科学领域,尤其是在开源项目中,大小写的差异有时仅是为了区分项目的具体分支、版本或者是个人偏好所致。 然而,在某些情况下,大小写的变化也可能暗示着具体的实现细节有所不同。例如,“Faster-RCNN”可能是原始论文或官方实现所采用的标准名称,而“Faster-rcnn”则可能代表某个特定社区维护的派生版本或是针对某一编程语言(如 Python 或 TensorFlow)优化后的变体[^2]。 #### 实现上的区别 尽管两者本质上都基于同样的核心思想——即通过引入区域提议网络(Region Proposal Network, RPN)加速目标检测过程并减少对外部候选框生成工具(如 Selective Search)的依赖,但在实际应用过程中可能存在如下几种主要的区别: 1. **代码库的选择** -Faster-RCNN”的经典实现在早期更多地使用 Caffe 框架完成,并由 Ross Girshick 提出并主导开发[^3]。 - 而“Faster-rcnn”,特别是带有额外修饰词(如 `tensorflow` 或其他后缀),往往指代的是后来移植到 TensorFlow 等更现代深度学习框架下的版本。这些版本可能会对原版做出一些调整以便更好地适配新平台的功能特性[^4]。 2. **配置方式** - 使用 Caffe 版本时,模型训练测试所需的参数通常是硬编码于脚本内部或者通过简单的 JSON/YAML 文件指定;而在基于 TensorFlow 的实现里,则更加倾向于利用复杂的 protobuf 配置文件来定义整个流水线的行为模式[^5]。 3. **支持的数据集类型** - 初始发布的 Faster-RCNN 更加专注于 Pascal VOC 数据集这样的标准评测集合; - 后续改进型比如提到的小型化版本或其他定制化改造,则允许用户更容易扩展至自定义数据源之上,甚至提供了详细的教程指导如何准备相应的标注信息[^6]。 4. **性能表现** - 不同硬件环境下运行效率有所差别:部分重构成 GPU 加速友好的结构能够显著提升推理速度; - 另外还有关于内存占用方面的考量因素影响最终部署方案设计思路[^7]。 综上所述,虽然表面上看只是简单字母形式改变而已,但实际上背后隐藏了许多潜在的技术选型决策以及工程实践权衡取舍的结果。 ```python # 示例代码展示两个版本间可能存在的API调用风格对比 # Caffe风格 solver_param = { 'base_lr': 0.001, 'gamma': 0.1, 'stepsize': 50000, } net = caffe.Net(train_proto_path, caffe.TRAIN) # Tensorflow风格 config = tf.ConfigProto() session = tf.Session(config=config) model_fn = functools.partial(faster_rcnn_model_fn, num_classes=NUM_CLASSES) estimator = tf.estimator.Estimator(model_fn=model_fn, model_dir=MODEL_DIR) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值