pycaffe编译问题归纳

pycaffe编译问题归纳

问题1
fatal error: pyconfig.h: 没有那个文件或目录

解决方法
A、如果使用系统默认的python路径,那么导入python3

make clean
export CPLUS_INCLUDE_PATH=/usr/include/python3.5
make all 

B、如果使用Anaconda ,那么导入

make clean
export CPLUS_INCLUDE_PATH=/home/hp/anaconda3/include/python3.5m
make all 

问题2
fatal error: pyconfig.h: 没有那个文件或目录

解决方法
A、如果使用系统默认的python路径,那么导入python3

make clean
export CPLUS_INCLUDE_PATH=/usr/include/python3.5
make all 

B、如果使用Anaconda ,那么导入

make clean
export CPLUS_INCLUDE_PATH=/home/hp/anaconda3/include/python3.5m
make all 

问题3
nvcc fatal : Unsupported gpu architecture 'compute_20’

解决方法(我自身显卡为2070super,为Turing架构,故以此为例,30系显卡可改为Ampere)
修改caffe源码中的cuda.cmake文件中的
1、第7行

set(Caffe_known_gpu_archs " 20 21(20) 30 35 60 61")

改为

set(Caffe_known_gpu_archs " 75")

2、第59行

  set(__archs_names  "Kepler" "Maxwell" "Pascal"  "All" "Manual")

改为

  set(__archs_names "Fermi" "Kepler" "Maxwell" "Pascal" "Turing" "All" "Manual")

3、并在93行下添加

  elseif(${CUDA_ARCH_NAME} STREQUAL "Turing")
    set(__cuda_arch_bin "75 75")

问题4
编译caffe时提示未定义的引用(undefined reference to)

解决方法
该问题是系统库中已经存在libcaffe.so文件,将该文件删除即可

cd usr/lib
sudo find libcaffe.so
sudo rm libcaffe.so*
cd ..

然后转到caffe文件夹下重新编译

cd /你的caffe地址/
make clean
make pycaffe

问题5
*编译caffe时提示./include/caffe/common.cuh(9): error: function "atomicAdd(double , double)" has already been defined

解决方法
修改include/caffe/common.cuh文件

#ifndef CAFFE_COMMON_CUH_
#define CAFFE_COMMON_CUH_

#include <cuda.h>

  #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600

  #else
  static __inline__ __device__ double atomicAdd(double *address, double val) {
    unsigned long long int* address_as_ull = (unsigned long long int*)address;
    unsigned long long int old = *address_as_ull, assumed;
    if (val==0.0)
      return __longlong_as_double(old);
    do {
      assumed = old;
      old = atomicCAS(address_as_ull, assumed, __double_as_longlong(val +__longlong_as_double(assumed)));
    } while (assumed != old);
    return __longlong_as_double(old);
  }


  #endif
#endif

libmatio.so.11: cannot open shared object file: No such file or directory
问题6
编译caffe时提示ibmatio.so.11: cannot open shared object file: No such file or directory

解决方法
该问题为LD对于动态库的搜索路径寻找不到

export LD_LIBRARY_PATH=对应动态库地址(例:/home/tony/matio-1.5.21/build/

再重新编译
make all

问题7
caffe运行时报错libmatio.so.2: cannot open shared object file: No such file or directory

解决方法
首先

cd etc/local/lib

在该路径下查找是否有这个库文件,存在则已安装,没有说明该库不存在
A、如果没有安装该库

sudo apt-get install libmatio2
luarocks install matio

B、已经安装该库,依然报错
(1)方法一

sudo gedit  /etc/ld.so.conf

在最后一行添加

include /usr/local/lib

再在命令行窗口执行

ldconfig

(2)方法二
通过软件链接解决

ln -s /usr/local/lib/libmatio.so.2 /usr/lib/libmatio.so.2

问题7
caffe或pycaffe编译时报错
/usr/bin/ld: 找不到 -lopencv_imgcodecs3
/usr/bin/ld: 找不到 -lopencv_core3
/usr/bin/ld: 找不到 -lopencv_highgui3
/usr/bin/ld: 找不到 -lopencv_imgproc3

解决方式

cd caffe #你的caffe根目录
gedit Makefie

使用ctrl+f查找opencv_imgcodecs3
将其所在语句改为下图所示(##为原语句,其上方为修改语句)请添加图片描述
保存Makefile文件后重新编译即可解决

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值