看了py-faster-rcnn上的issue,原来大家都遇到各种问题。

我要好好琢磨一下,看看到底怎么样才能更好地把GPU卡发挥出来。最近真是和GPU卡较上劲了。

上午解决了g++的问题不是。

然后下午我就想我要解决掉yml加载不上的问题。就是easydict版本太低了,可以改代码,也可以从新安装。conda install -c verydeep easydict. 参考:https://github.com/rbgirshick/py-faster-rcnn/issues/201

还有一个问题,就是解决了py faster rcnn不能用cudnn的问题,就是我目前的版本就各种问题吧。按照issue里说的,merge了caffe最新的代码。参考:https://github.com/rbgirshick/py-faster-rcnn/issues/237。这个地方改后,提速了好多倍,确实很有必要的。

还有一个问题,就是lib的一些代码,现在总是会提示index integer等等的问题,就是不支持非integer作为index了。看了issue,好像说是numpy版本太高了,需要降低版本到(1.11.0),参考:https://github.com/rbgirshick/py-faster-rcnn/issues/480  这个问题好像不好解决,下载numpy涉及到太多东西,安装起来又会有别的问题。建议还是直接安装低版本的anaconda吧。

目前还有问题,就是多GPU版本的代码不能保存snapshot。

今天网络有问题,我等把上面的问题都解决了,再解决保存问题。

我今天一天就是在debug,而且是各种版本问题。所以其实我想把ananconda从新装一个旧的版本,不用目前的ananconda2了。各种bug的生活太难受了。

以前在原来单位也用了anaconda2有大半年了,没发现有这么多问题,这次我新下的版本简直就是各种不兼容各种不兼容各种不兼容!

从rcnn一直各个版本一路用下来,改过其中的代码,参数优化,各种工作。可换了一套环境,感觉还是像新手一样,尤其是发现和新的软件包各种不兼容后,觉得一方面要把自己用到的这些都保存,另一方面也要注意留意这些新的包更新时有什么改进的地方,比如numpy对index的要求,以前不会提示float不可以,现在就不行了,做index的参数必须强制转化为int。还有easydict,我这次跑通faster rcnn时就意识到了,YML文件失效了,当时也测试了,确实失效了。但是当时为了测试GPU卡的性能,没去理,就在python文件里把配置写好的。而caffe支持cudnn的部分,当时也发现了py-faster-rcnn的caffe对我新安装的cudnn编译不通过,当时我换成了原来一直用的caffe版本,跑起来没问题。还有g++编译问题,开始一直怀疑是gcc的问题,因为其中涉及到cuda,所以也担心是不是这个地方和driver不兼容。没想到归根到底还是anaconda包惹的事。当时把gpu.nms禁掉了,反正这部分的时间其实不必CPU快的。

目前的系统环境下,想把py-faster-rcnn成功配置好,可能最方便的方式就是把anaconda安装成原来的版本,不要那么新的,再者在安装easydict和opencv等软件包时,要指定版本号。

最近在处理数据,我想把系统从新格了,安装16.04,或者直接换成anaconda相对来说兼容性好的版本。anaconda也是,有些包新,有些包都是两年前的旧包了,要是像numpy那样,其实这种要求是一种好的习惯,本来用float做index就不是好习惯,但是easydict那个地方一直是旧版本的一个bug,anaconda包也该更新一下easydict才是啊。

py faster rcnn+ 1080Ti+cudnn5.0的更多相关文章

  1. py faster rcnn的lib编译出错问题

    真是好事多磨啊,计算机系统依然是14.04,而cuda依然是8.0,唯一不同的是时间不一样,下载的各种库版本有差别,GPU的driver不一样. 但是这样就出问题了,py-faster rcnn的li ...

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

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

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

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

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

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

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

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

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

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

  7. faster rcnn训练详解

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

  8. faster rcnn相关内容

    转自: https://zhuanlan.zhihu.com/p/31426458 faster rcnn的基本结构 Faster RCNN其实可以分为4个主要内容: Conv layers.作为一种 ...

  9. 运行Keras版本的Faster R-CNN(1)

    Keras版本的Faster R-CNN源码下载地址:https://github.com/yhenon/keras-frcnn下载以后,用PyCharm打开(前提是已经安装了Tensorflow-g ...

随机推荐

  1. 查看mysql版本的四种方法及常用命令

    1:在终端下:mysql -V或mysql -Version. 以下是代码片段: [shengting@login ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10 ...

  2. FFmpegInterop 库在 Windows 10 应用中的编译使用

    FFmpegInterop 简介 FFmpegInterop 是微软推出的封装 FFmpeg 的一个开源库,旨在方便在 Windows 10.Windows 8.1 以及 Windows Phone ...

  3. 关于“System.Data.ProviderIncompatibleException”类型的异常

    作为刚学习MVC的菜鸟,因为平常的不努力学习.看书,所以只能参考官方的教程学习操作新手入门 一步一步认真的做,前天晚上出现了一个关于数据库连接字符串错误的问题,自己查了很多资料, 问了许多大神,他们的 ...

  4. Mac安装Gradle eclipse安装buildship插件

    一直用的eclipse+mvn,现在需要导入别人的gradle项目,所以下载了gradle和在eclipse中安装了buildship插件. 一,mac下安装gradle 1,点击网页https:// ...

  5. 不定宽高的文字在div中垂直居中

    本人在面试的时候被问到:如何使一段不定宽高的文字垂直居中呢? 现在来总结一下: 在body中写入结构 <div id="main">    <div id=&qu ...

  6. learn OpenStack by picture

  7. Android 马甲包制作流程

    一.马甲包的制作流程 1.配置马甲包的applicationId以及应用名称 在app的build.gradle文件中添加马甲包的配置 android { signingConfigs { confi ...

  8. C/C++:函数的调用约定(Calling Convention)和名称修饰(Decorated Name)以及两者不匹配引起的问题

    转自:http://blog.csdn.net/zskof/article/details/3475182 注:C++有着与C不同的名称修饰,主要是为了解决重载(overload):调用约定则影响函数 ...

  9. 15分钟完成基于Azure公有云搭建远程测试环境

  10. synchronized(this)、synchronized(class)与synchronized(Object)的区别

    在多线程开发中,我们经常看到synchronized(this).synchronized(*.class)与synchronized(任意对象)这几种类型同步方法.但是是否知道这几种写法有什么区别了 ...