HED 代码调试 & modified caffe编译

重新编译之前的笔记,后悔之前没有好好记下来

72   INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

73   LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial


strings /usr/local/MATLAB/R2016b/sys/os/glnxa64/libstdc++.so.6 | grep GLIBC



重新编译过程(18.6.1上午):

为了解决/matlab/demo文件夹中classification_demo一跑matlab就崩的问题,加上第一次编译caffe,pycaffe,matcaffe虽然算是成功了但是还有很多不明白的东西,而且我做的项目本身是matlab写的,所以想弄好matcaffe接口,所以一激动就make clean了。这下好了,本来python下可以跑hed的例子了,做项目够用了,一脑残什么都没有了,又忙活了一晚上加一上午,而最后的结果是一开始的classification_demo问题还没有解决!!!放弃了,耗不起了。

为了修改环境变量,给/etc/profile的末尾,添加了下面两句话,结果可能就是这个原因,显卡驱动又崩掉了,循环登录进不去ubuntu系统,又重装了显卡驱动,因祸得福,自己熟悉了一下安装显卡驱动。以后不能瞎改profile了。

exportLD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libfreetype.so.6:/usr/lib/x86_64-linux-gnu/libstdc++.so.6

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/


1重新编译的好处,安装caffe前需要的依赖都不用重新安装了。

2总的来说,根据官方提示和不记得哪儿的提示,在一个全新的hed-master下载下来之后,根据多种需要,最好补充以下一些文件。

/hed-master:models文件夹

/hed-master/models/bvlc_reference_caffenet:bvlc_reference_caffenet.caffemodel模型文件


/home/minmin/视频/hed-master/examples/hed:5stage-vgg.caffemodel、 hed_pretrained_bsds.caffemodel两个模型文件

/home/minmin/视频/hed-master/examples:images文件夹

3接下来很重要的一部分是对 Makefile.config 和 Makefile 所做的修改

既然是重新编译,肯定Makefile.config已经有了,之前就是从Makefile.config.example复制出来的

对Makefile.config做的修改:

3.1 line23   去掉 -gencode arch=compute_20,code=sm_20   -gencode arch=compute_20,code=sm_21

  必要性:0

  目的:避免编译时nvcc烦人的warning

3.2 line47 添加matlab路径:MATLAB_DIR := /usr/local/MATLAB/R2016b

  必要性:1

3.3 添加hdf5路径

  line72 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

         line73 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

         必要性:1

3.4 由于自定义安装了opencv-2.4.13,安装过程找不到opencv的库,需要以下操作(我的opencv安装位置/home/minmin/opencv-2.4.13)

  line81 取消注释。应该是让程序能找到自定义安装的lib,小白不太懂,强行按照自己的理解解释

  这是个大坑,基本上第二次编译就是在解决这个问题,然而一开始并没有查到是opencv的问题。主目录下make all,总是报错,基本上是带有img等字眼。每次查到一种办法,make clean,make all还是一样的错误,后来有个博客说到进到make出来的build文件夹里面去编译,这下opencv的问题暴露出来了。

报错:

.build_release/tools/convert_imageset.o:在函数‘std::string* google::MakeCheckOpString<unsigned long, int>(unsigned long const&, int const&, char const*)’中: convert_imageset.cpp:(.text._ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc]+0x50):对‘google::base::CheckOpMessageBuilder::NewString()’未定义的引用

  操作是:

  cd build

         cmake..

         make all

         为了这个错误尝试过两种方法,都不work:

          1)在Makefile.config line73 给LIBRARIES加上/usr/bin/x86_64_linux_gnu,因为根据提示感觉是找不到opencv的库,而libopencv*.so*等文件就在这个文件夹下,所以就自己琢磨着加了,然而不没有用啊啊啊。

   2)Makefile第174行,添加opencv_imgcodecs,结果会报错说找不到这个,所以立即删了,试别的方法。

对Makefile做的修改:

3.5 line348下面添加 CXXFLAGS += -std=c++11

    这个忘记是因为什么问题添加的了。



参考博客:

1、解决nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated问题




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值