真是好事多磨啊,计算机系统依然是14.04,而cuda依然是8.0,唯一不同的是时间不一样,下载的各种库版本有差别,GPU的driver不一样。

但是这样就出问题了,py-faster rcnn的lib库编译时总是提示错误。

网上搜了开始的相关帖子都提示说是gcc的版本问题,但是我后来问了一下在原来单位的同事,gcc的版本也没问题,版本和原来用的一样。后来我把cython卸载(0.26.1),从新安装旧版本(0.19.1)依然同样的错误,我没有继续追究版本问题。昨天看到github上的一个帖子说是把-R改成 -Wl,-rpath=就可以了。参考:https://github.com/rbgirshick/py-faster-rcnn/issues/706

开始不知道改那些地方,昨天看了一天的Cython,看到下午四点钟头都打了,可以下班就马上滚了,不过也大概知道了编译的过程。今天一来,再顺着找,编译过程中根据setup.py文件里import的文件,有distutils.extension,也有Cython.Distutils下的。于是顺着distutils找。开始在distutils下找到了extension.py文件,里面定了了setup编译时的规则,但是我仔细看了一下,是如果传入的编译命令是哪一个,应该怎么定义。如果传入的是-R,那么应该怎么链接,其中有runtime_library_dir,而这个的值是哪里来的呢?于是再找,那就是找能对编译规则有影响的。换个地方找,找distutils下的,追个找了一下,看到文件uixccomplier.py,觉得应该是这里定义了对cython的setup编译的规则。果然打开看到了有一个函数是runtime_library_dir的生成定位规则,终于找到这个地方了,把返回-R +dir的地方改成'-Wl,-rpath='+dir。然后回到py-faster-rcnn的lib下,编译通过,一切搞定。

归咎原因应该是我安装的anaconda2里面的python的一些包升级了,规则改了。其实我在跑py-faster-rcnn时,有几个地方提示说默认是float,而我用来做index,是不可以的。因此,python版本的影响吧。我决定把anaconda换到低版本试试,不过也挺奇怪,我半年前下载的anaconda2,是没问题的,难道最近有更新很多吗?

py faster rcnn的lib编译出错问题的更多相关文章

  1. py faster rcnn+ 1080Ti+cudnn5.0

    看了py-faster-rcnn上的issue,原来大家都遇到各种问题. 我要好好琢磨一下,看看到底怎么样才能更好地把GPU卡发挥出来.最近真是和GPU卡较上劲了. 上午解决了g++的问题不是. 然后 ...

  2. faster rcnn 源码学习-------数据读入及RoIDataLayer相关模块解读

    参考博客:::https://www.cnblogs.com/Dzhen/p/6845852.html 非常全面的解读参考:::https://blog.csdn.net/DaVinciL/artic ...

  3. Faster R-CNN教程

    Faster R-CNN教程 最后更新日期:2016年4月29日 本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10 ...

  4. 如何才能将Faster R-CNN训练起来?

    如何才能将Faster R-CNN训练起来? 首先进入 Faster RCNN 的官网啦,即:https://github.com/rbgirshick/py-faster-rcnn#installa ...

  5. caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于caffe). (亲测有效,记录经历两天的吐血经历)

    兜兜转转,兜兜转转; 一次有一次,这次终于把Faster R-CNN 跑通了. 重要提示1:在开始跑Faster R-CNN之前一定要搞清楚用的是Python2 还是Python3. 不然你会无限次陷 ...

  6. python3 + Tensorflow + Faster R-CNN训练自己的数据

    之前实现过faster rcnn, 但是因为各种原因,有需要实现一次,而且发现许多博客都不全面.现在发现了一个比较全面的博客.自己根据这篇博客实现的也比较顺利.在此记录一下(照搬). 原博客:http ...

  7. faster r-cnn 在CPU配置下训练自己的数据

    因为没有GPU,所以在CPU下训练自己的数据,中间遇到了各种各样的坑,还好没有放弃,特以此文记录此过程. 1.在CPU下配置faster r-cnn,参考博客:http://blog.csdn.net ...

  8. 新人如何运行Faster RCNN的tensorflow代码

    0.目的 刚刚学习faster rcnn目标检测算法,在尝试跑通github上面Xinlei Chen的tensorflow版本的faster rcnn代码时候遇到很多问题(我真是太菜),代码地址如下 ...

  9. faster rcnn训练详解

    http://blog.csdn.net/zy1034092330/article/details/62044941 py-faster-rcnn训练自己的数据:流程很详细并附代码 https://h ...

随机推荐

  1. pat02-线性结构1. Reversing Linked List (25)

    02-线性结构1. Reversing Linked List (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, ...

  2. 工作采坑札记:4. Hadoop获取InputSplit文件信息

    1. 场景 基于客户的数据处理需求,客户分发诸多小数据文件,文件每行代表一条记录信息,且每个文件以"类型_yyyyMMdd_批次号"命名.由于同一条记录可能存在于多个文件中,且处于 ...

  3. HDU 1069—— Monkey and Banana——————【dp】

    Monkey and Banana Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  4. vs文件属性(生成操作)各选项功能

    右击项目里的文件,选择属性(F4)会有[生成操作]的选项. 它提供了14项选择,如图: 在这说一下常用的选项: 1.编译 编译用于c#代码类的操作,编译之后输出在该程序集的bin目录下.换句话说,代码 ...

  5. SQL Server与Oracle有什么区别?

    1.可操作平台上: Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案.客户可以利用很多种第三方应用程序.工具.而SQL Se ...

  6. django中自定义表名及字段名称

    在meta 类中指定表名,在字段中通过db_column指定列名如下所示 class Record(models.Model): content=models.CharField(max_length ...

  7. springboot从入门到精通(二)

    这一节我们一起用springboot开发一个应用程序,应用程序里的核心概念是玩家获取英雄列表上的英雄信息. 1.定义实体模型: 代码如下: package com.dota.herolist.enti ...

  8. python dict list tuple

    Dict 创建 somedict = {} somedict = {"key": value} a = dict(one=1, two=2, three=3) c = dict(z ...

  9. 如何用dva来构建你的应用

    dva的github地址: https://github.com/dvajs/dva-knowledgemap#%E9%80%9A%E8%BF%87-connect-%E7%BB%91%E5%AE%9 ...

  10. 性能优化小Tips

    Performance Tips 这篇文章主要是介绍了一些小细节的优化技巧,当这些小技巧综合使用起来的时候,对于整个App的性能提升还是有作用的,只是不能较大幅度的提升性能而已.选择合适的算法与数据结 ...