|
/usr/bin/ld: warning: libcudart.so.10.0,may conflict with libcudart.so.10.2
needed by /home/jingyun/miniconda3/envs/py2_caffe_face/lib/libcaffe.so,
may conflict with libcudart.so.10.2
进入conda环境后 python import caffe 报错:
ImportError: libcudart.so.10.2: cannot open shared object file: No such file or directory
错误原因: 系统中同时存在libcudart.so.10.0和 libcudart.so.10.2,冲突了
解决方法:
在终端输入:
sudo find / -name libcudart.so.10.*
可以看到同时存在libcudart.so.10.0和 libcudart.so.10.2
此时可以通过 nvcc -V 命令查看自己的Cuda版本.
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
但是之前编译caffe是没有问题的
应该是要在conda的虚拟环境中 make all -j8 make test -j8 make pycaffe的
因为查看Makefile.config 里面就是与conda虚拟环境结合的!
CUDA_DIR := /usr/local/cuda-10.0
ANACONDA_HOME := $(HOME)/miniconda3/envs/py2_caffe_face
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
而恰好我的虚拟环境之前安装过torch 自动给我安装了 cuda10.2 找到问题所在了
cuda10.2的so文件 就会在:$(ANACONDA_HOME)/lib/libcudart.so.10.2 后面有图展示
解决:
此时只能先卸载 pytorch :
conda uninstall pytorch
conda uninstall cudatoolkit
重新编译caffe
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
python get-pip.py 修复一下pip
pip uninstall numpy 卸载numpy
pip install numpy 重新安装
等caffe一切正常后 python import caffe 没有报错
./build/tools/caffe train -solver examples/mnist/lenet_solver_adam.prototxt
GPU训练 飞快!
再重新安装pytorch(顺序问题)
这次安装pytorch 就安装一个cuda10.0的! 不会与系统(CUDA_HOME=/usr/local/cuda-10.0)的版本冲突
conda install pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch
为什么是pytorch==1.0.0 因为我的python==2.7.18
|
|