1.在tty下安装nvidia驱动或者cuda时,在安装完成后重启黑屏或者循环登陆(log loop),最简单直接的方法就是alt+ctrl+f1进入tty,卸载nvidia驱动:sudo apt-get --purge remove nvidia*
这样就可以进入系统了。不过就得重新装驱动了。试过网上的各种不卸载驱动解决这个问题的方法,都没有成功,还是这招来的直接有效,然后找找自己在哪一步出现了问题。
2.提示ImportError: No module named google.protobuf.internal
我是在电脑上已经配置好了conda并且设置好了环境变量,因此我直接输入如下代码就解决了(网上看到的几个方法都比较复杂,其实只要在电脑上安装好这个包就可以了):
conda install protobuf
如何安装配置anaconda可以看我的另一篇文章:
如果没有安装和配置anaconda可以试一下下面的方法:
sudo apt-get install python-pip pip install protobuf安装好protobuf后进入python解释器测试是否安装成功:
import google.protobuf
import caffe
3.在编译caffe时或者是在python编译器下import caffe时,提示如下错误:OSError: libcudart.so.7.5: cannot open shared object file: No such file or directory
这是检查是否是环境变量没有设置好的问题,在终端下输入:
$ echo $PATH
$ echo $LD_LIBRARY_PATH
如果环境变量没有问题的话,在输入这两句后应该会显示你设置的cuda的变量。
如果显示的路径中没有/usr/local/cuda/bin 和/usr/local/cuda/lib64的话那么就需要将这两个路径加入到环境变量中了。(ps,此处/local/cuda处的cuda也可以设置为你自己安装的cuda版本名称,在安装cuda的时候会询问你是否设置一个软连接,如果是按照默认方式安装的话,在local文件夹下应该是有一个cuda文件夹的,和cuda-7.5是一样的)
sudo gedit ~/.bashrc
export PATH="/usr/local/cuda/lib64:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
保存退出后开启一个新的终端进行测试,如果依然有问题,那么可以通过如下方法来解决,即将一些文件复制到/usr/lib/x86_64-linux-gnu/文件夹下(网上也有人复制到/usr/local/lib/下也成功了,感觉原理都是一样的):
$ sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/lib/x86_64-linux-gnu/libcudart.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/lib/x86_64-linux-gnu/libcublas.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/lib/x86_64-linux-gnu/libcurand.so.7.5 && sudo ldconfig
重新在caffe文件夹下进行编译,如果此时提示下面这种错误:
error while loading shared libraries:libhdf5.so.: cannot open shared object file: No such file or directory,可能是libhdf5.so的版本问题,你可以进入/usr/lib/x86_64-linux-gnu看一下你的libhdf5.so.x中的那个x是多少,比如说我的是7,那么可以通过如下方法解决:
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libhdf5.so.7 libhdf5.so.10
sudo ln -s libhdf5_h1.so.7 libhdf5_h1.so.10
sudo ldconfig
然后进入查看python接口是否配置成功
进入python环境,进行import 操作
import caffe
如果输入后没有报错,说明配置成功。
以上是我遇到的一些问题的整理,以后如果有其他问题会继续更新,也欢迎大家进行评论交流。