3D U-Net安装爬坑过程之caffe编译(anaconda3)

3D U-Net安装爬坑过程之caffe编译

3D u-net官网链接
最近在捣鼓三维语义分割,然后摊上了这么个网络用的caffe,又开始了折磨的编译之路。记录一下爬过的坑,以示后人。

准备工作

  • 代码包下载解压:从官网下载解压出来的重点是一个.patch文件,看上去是个补丁,我也不是很懂。

  • caffe包的获取和合并:按照readme文件中的步骤进行,一定要按照这个步骤,不可以直接下载caffe压缩包解压,否则git的一连串命令都无法进行。gti clone可能会出现超时,需要分时段多试几次,也可以更改host
    readme中的操作

  • caffe的编译,采用cmake编译。按照http://caffe.berkeleyvision.org/installation.html官网上的安装教程, 遇到第一个坑Could NOT find LMDB

Could NOT find LMDB

通过补充安装库解决:

sudo apt install libgflags-dev libgoogle-glog-dev liblmdb-dev -y

继续Cmake遇到了第二个坑Could NOT find Atlas

Could NOT find Atlas

百度大法告诉我这个是缺openblas,重回caffe安装指导页面检查发现是Prerequisites里的BLAS忘记装了。到BLAS网站 下载BLAS安装包,在解压出来的文件夹内新建buid文件夹,然后cmake ../ 。可能会报错,告诉你没有lapack,根据报错的提示一句句运行就可以编译安装lapack。然后再安装BLAS。再回到caffe的build文件夹,使用cmake -DBLAS=OPEN ..的方式打开BLAS编译。

指定编译的python版本

这个错误因人而异,报错大概是说找不到Numpy或者The dependency target “pycaffe” of target “pytest” does not exist啥的,然后仔细看可以看到cmake的输出中有一行关于Python编译器的。可能是找不到路径也可能是找到的是系统Py2.7版本的路径,所以会报错,需要在caffe根目录的CMakelist.txt里加上这样的语句:

# anaconda path
set(ENVS_INCLUDE /usr/local/anaconda3/include)
set(ENVS_LIB /usr/local/anaconda3/lib)
set(ENVS_EXECUTABLE /usr/local/anaconda3/bin)

其中的路径改成自己anaconda3的路径,回到build目录继续上面的cmake语句,可能还是会找不到,这个时候需要把build文件夹清空然后重新cmake。注意不要清空错了,是清空build文件夹,就可以看到找到对应的anaconda 的python路径了。

C++ 版本问题

遇到报错一大串然后拉到开头发现提示是c++版本
参考这一博客 重新cmake解决

猜你喜欢

转载自blog.csdn.net/weixin_43876852/article/details/122242944