【Caffe】Caffe,CUDA,cuDNN安装指南,以及各种问题的解决方法Ubuntu14.04

---------[2017.07.20 更新]--------升级cuda到8.0,找不到各种库----------------------------------

cuda7.5各种不适用,就给卸了重新安装了8.0,结果caffe不能用了.

1. 找不到 libcudart.so.7.5

地址:https://pan.baidu.com/s/1nuRgJ1Z

放到: /usr/lib

sudo ldconfig /usr/local/cuda/lib64



2. 找不到 libjpeg.so.62

地址:https://pan.baidu.com/s/1i4SAQWX

放到: /usr/lib

执行:

cd /usr/lib
sudo ln -s libjpeg.so.62.0.0 libjpeg.so.62
sudo ln -s libjpeg.so.62.0.0 libjpeg.so

重新编译caffe,make runtest 时候提示driver版本和lib版本对不上。

重新安装cuda的时候会安装最新版显卡驱动375.66,但我发现当前显卡驱动还是375.39

查询显卡驱动的几个命令:

nvidia-settings -q NvidiaDriverVersion
cat /proc/driver/nvidia/version
nvidia-smi



所以要彻底卸载显卡驱动和cuda,并重新安装。

执行: 按ctrl + alt + F1

sudo apt-get --purge remove nvidia-375 cuda
sudo apt-get install nvidia-375
sudo reboot

重启电脑后重新安装一次cuda就都OK了



------------------------【2017.06.01 更新】安装好openblas后,make编译不通过------------------------------------

提示错误:

/usr/bin/ld: cannot find -lopenblas
解决办法是:
sudo ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/libopenblas.so


---------------------------------------【5.26 更新】安装openblas----------------------------------------------------------------

先吐槽一下之前那台新电脑,跑了一下午数据后,CPU挂了,i7 6950 。。。噗哈哈哈,借的电脑还回去了。IT估计哭了。

对于没有nvidia 显卡的朋友(你真穷!),总要想尽办法加快计算速度。caffe默认的Atlas,只能单线程运算。所以这里更新一下如何安装Openblas来多线程运算,能大大加快CPU运算速度。

cd /path/to/caffe
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make -j4
sudo make install

修改Makefile.config
BLAS := open
BLAS_INCLUDE := /opt/OpenBLAS/include
BLAS_LIB := /opt/OpenBLAS/lib

修改环境变量

export OPENBLAS_NUM_THREADS=4  #这里注意你CPU多少线程的写多少,不过!一般满线程计算速度反而慢呢!
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib/:$LD_LIBRARY_PATH

更新环境变量

source /etc/profile

重新编译caffe
make clean
make all -j4
make test
make runtest
make pycaffe


---------------------------------【5.24 更新】 ------------------------------------------------------

公司电脑有毒!!新来台电脑给安装caffe,果然又出新问题!!!!!!!!

caffe目录下 make all -j8 提示

nvcc warning : The 'compute_20','sm_20',and 'sm_21' architectures are deprecated,and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

并且在训练的时候提示cudnnsucess错误(11 VS. 0) ,我也记不清了,大概是这个错误提示。

在修改makefile.config无果后,找到了下面的方法:

cd caffe
make clean
mkdir build
sudo apt-get install cmake-qt-gui
cmake-gui
Where is he source code 选定caffe目录

where to build the binaries选定caffe下新建的build目录

Search填入NVCC

右边Advance打上勾

在CUDA_NVCC_FLAGS 后边 填上 --Wno-deprecated-gpu-targets

点击下边Configure

然后点击 Generate

cd build
make install -j8
等编译完成就搞定了。

参考自:http://www.jb51.cc/article/p-equjcbdc-cc.html


>>>>>>>>>>>>>>>>>>>>>>>>> 下面开始是正文 >>>>>>>>>>>>>>>>>>>>>>>>>>>


最近在家把双系统(主系统WIN8,副系统Ubuntu14.04)搞定了,准备周末没事自己在家跑跑数据啥的。正好这次也把在Ubuntu14.04系统下caffe和对应GPU加速的安装指南写一下。

我电脑的配置如下:

Intel® Core™ i7-7700K CPU @ 4.20GHz × 8

GeForce GTX 1070

64-bit

驱动信息:


关于驱动大家可以去 系统设置-软件和更新-额外驱动(最后一栏)中查看,

一般是有两个,一个是NVIDIA的,一个是X.Org,选择NVIDIA的为当前驱动。

没安装nvidia驱动的话在这里也可以自动安装,自动安装版本都是最新的375.39。

如果你的是老版本,可以更新到最新版本。


或者通过下面安装CUDA也会直接安装最新版本的显卡驱动


>>>>>>>>>>>>>>>>>>>>>出问题看这里>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

这时候需要注意个问题,在运行第二步sample的时候如果不通过。可以尝试运行下面命令解决问题:

cd /usr/local/cuda/
find . -type f -execdir sed -i 's/UBUNTU_PKG_NAME = "nvidia-xxx"/UBUNTU_PKG_NAME = "nvidia-375"/g' '{}' \; #xxx是你老版本的型号。

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


如果你不需要gpu加速,或者之前已经安装好了。可以跳过1和2,直接看caffe安装指南。

1.安装CUDA

先去官网下载安装包https://developer.nvidia.com/cuda-downloads

下载local .deb安装包,cd到目录运行

sudo dpkg -i xxxxxxxxx

sudo apt-get update

sudo apt-get install cuda


2.安装cuDNN

也是先去官网注册下载https://developer.nvidia.com/cudnn

不麻烦的,有点耐心弄。

下载这个要注意如果你是gtx1070以上的显卡要下载安装cuDNN5.0以上版本的库才行,

而且还要跟你的CUDA版本对应好。

下载好cd到目录运行:

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz

cd cuda/lib64/

sudo cp lib* /usr/local/cuda/lib64/

cd ../include

sudo cp cudnn.h /usr/local/cuda/include/

更新软连接

cd /usr/local/cuda/lib64/

这里最好去上面 cuda/lib64/ 目录下对照着来

sudo rm -rf libcudnn.so libcudnn.so.5

sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5

sudo ln -s libcudnn.so.5 libcudnn.so

设置环境变量

sudo gedit /etc/profile

末尾加上

export PATH=/usr/local/cuda-8.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

保存好退出

刷新,使之生效

source /etc/profile

安装Sample

cd /usr/local/cuda/samples

sudo make all -j8

-j后面的数字根据自己电脑配置来,CPU线程数。

这里要注意有可能会因为g++/gcc版本问题导致编译出错。

需要重新安装一个老版本的g++/gcc-4.7

我的是4.8版本的,编译一切顺利。如果没出问题就不要作死降版本了啊。

下面是我的版本截图:



--------------------------安装gcc-4.7--------------------------------------------------------------

先下载安装:

sudo apt-get install -y gcc-4.7

sudo apt-get install -y g++-4.7

然后更新软连接实现降版本

cd /usr/bin

sudo rm gcc

sudo ln -s gcc-4.7 gcc

sudo rm g++

sudo ln -s g++-4.7 g++

查看是否降版本成功

gcc --version

g++ --version

------------------------------------------------------------------------------------------------------------


最后查看驱动是否安装成功

cd bin/x86_64/linux/release

./deviceQuery

出现PASS即为安装成功。

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 1070"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 8113 MBytes (8506769408 bytes)
  (15) Multiprocessors,(128) CUDA Cores/MP:     1920 CUDA Cores
  GPU Max Clock rate:                            1823 MHz (1.82 GHz)
  Memory Clock rate:                             4004 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 2097152 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072),2D=(131072,65536),3D=(16384,16384,16384)
  Maximum Layered 1D Texture Size,(num) layers  1D=(32768),2048 layers
  Maximum Layered 2D Texture Size,(num) layers  2D=(32768,32768),2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,z): (1024,1024,64)
  Max dimension size of a grid size    (x,z): (2147483647,65535,65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery,CUDA Driver = CUDART,CUDA Driver Version = 8.0,CUDA Runtime Version = 8.0,NumDevs = 1,Device0 = GeForce GTX 1070
Result = PASS


3.安装caffe

安装ATLAS,这个是做线性代数运算的

sudo apt-get install libatlas-base-dev
安装依赖及工具
sudo apt-get install build-essential vim cmake git gfortran libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

>>>>>>>>>>>>>>>>>>>>>>>>出问题看这里>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

我安装好上面依赖后提示了一句话

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link

/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link

这个问题还算好解决
cd /usr/lib/nvidia-375/

sudo rm -rf libEGL.so.1

sudo ln -s libEGL.so.375.66 libEGL.so.1

cd ../../lib32/nvidia-375/

sudo rm -rf libEGL.so.1

sudo ln -s libEGL.so.375.66 libEGL.so.1

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


安装Python的包管理工具pip

sudo apt-get install python-numpy python-pip

去下载Caffe,我是直接给放到home目录下面了。

cd

git clone https://github.com/BVLC/caffe.git

根据requirements,安装python的各种包。

cd caffe/python
sudo pip install --upgrade pip
for req in $(cat requirements.txt); do sudo pip install --upgrade $req -i https://pypi.tuna.tsinghua.edu.cn/simple/; done

关于上面安装各种python模块,我的建议是先运行一次带-i的,就是用国内源安装一边所有模块。然后再删掉-i,用默认的国外源再重新安装一遍所有模块。因为国内源有些模块安装不上去,或者更新不及时。但是国内源下载速度快很多。

>>>>>>>>>>>>>>>>>>>>>>>>出问题看这里>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

如果安装python requirements出问题,重新安装pip,运行

sudo python -m pip install -U pip

可以对照requirements内容自己逐个安装依赖。下面是两种安装方法,选一种安装就好。

sudo pip install xxxx

sudo apt-get install python-xxxx
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<



然后就是修改配置文件了

cd ~/caffe

cp Makefile.config.example Makefile.config

gedit Makefile.config
启用CUDNN,取消注释
USE_CUDNN :=1

打开:

WITH_PYTHON_LAYER :=1

修改一下python包目录:

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/local/lib/python2.7/dist-packages/numpy/core/include

可以去看一下刚才安装的python包都在 /usr/local/lib/python2.7/dist-packages/目录下面



>>>>>>>>>>>>>>>>>>>>>>>>出问题看这里>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

有时候make不通过是因为CUDA_ARCH不匹配,一般是老旧显卡会出现这个问题

对于这个问题

1.可以通过去nvidia官网查看你显卡的计算性能。

2.从大往小注释,多次尝试。

我家里GTX1070在这里是提示arch=compute_20,code=sm_21不可用,注不注释没啥影响。注释了就是编译时没warning了而已-_-||

我单位GT720,当时是报错了。我注释了arch=compute_60,code=sm_60和arch=compute_62,code=sm_62这两行,

并且修改最后一行为arch=compute_52,code=compute_52。

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<



最后可以make了

cd ~/caffe

make all -j8

make test -j8

make runtest -j8

make pycaffe -j8

runtest一路绿看着人心情舒畅啊。

最后看看Python封装好了没

python

import caffe

不报错的话,就安装结束啦。。。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预编译版,总体过程感觉还是挺简单的,但是由于在网上找的参考资料并没有和自己遇到的情况完全一样的,所以把自己的安装过程记录下来,方便和自己一样的后来人进行安装,同时也自己作个记录留作备忘。其实预编译版的CARLA本身几乎不用什么命令行进行安装,主要步骤只有解压缩和拷贝文件,和极少的命令行安装操作。但是相关依赖以及其它的CARLA所使用的一些工具需要一起安装好,下面一起来看看安装步骤吧。_ubuntu22.04安装carla
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载Ubuntu 20 安装包_ubuntu20下载
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装rally, pip3 install -r requirements.txt 时提示如下: 说明openssl 已安装。解决:1. pip3 install --upgrade pip , 结果输出如下 ..._error: command '/usr/bin/gcc' failed with exit code 1
文章浏览阅读1.1k次。自己刚踩坑装好的W11 WSL2 miniconda_wsl2 cuda
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standalone的,会有一点区别(不识别 下面的 -localhost no)上面的命令会在~/.vnc/目录下生成一个 passwd文件。具体端口号,可以查看vncserver -list返回结果中的RFB PROT。作用是vncserver启动的时候运行这些命令,把桌面程序启动起来。如果希望用某个用户比如 demo登录,就用su切换到这个用户。桌面版默认就已安装,服务器版需要手动安装,并启动。关闭某个会话可以用下面的命令。远程地址输入ip:port。查看全部的vnc会话。_ubuntu vncserver
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主要是连接一个远程的code-server服务,code-server服务安装在什么系统,调用的就是什么系统的环境,如这里使用ubuntu进行安装code-server,那使用的就是ubuntu环境,如需要go,python,java开发,需要在Ubuntu安装相关环境,创建的文件夹和项目也是在Ubuntu里面.这种方式其实在访问vscode的时候利于可以随时随地进行连接使用,且不受设备影响。
安装Ubuntu上超好用的终端Terminator。通过添加软件源、更新源、安装Terminator等步骤完成。
文章浏览阅读1.1k次,点赞83次,收藏74次。不要嫌弃Ubuntu的单调的终端界面啦,快来试试这些有意思的命令_ubuntu系统有趣的玩法
文章浏览阅读2.5k次。在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁盘空间富余的目录下设置虚拟内存swap文件,用来缓解内存不足的问题。通过上面的信息可以看到,/dev/vda2 目录下还剩余45G,那么就可以把swap文件生成在/dev/vda2目录下。在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。# bs 为块的大小,count 创建多少个块。# 执行命令后,删除创建的swap目录即可。#把生成的文件转换成 Swap 文件。2、创建一个swap文件。_ubuntu20修改swap大小
文章浏览阅读2.9k次,点赞2次,收藏10次。记录RV1126的SDK编译错误,以及解决处理_command exited with non-zero status 1
文章浏览阅读1.1w次,点赞22次,收藏101次。【记录】ubuntu20.04安装nvidia显卡驱动_ubuntu20.04安装nvidia显卡驱动
文章浏览阅读727次,点赞6次,收藏27次。在嵌入式Linux开发过程中,可能遇到uboot无法通过nfs服务从Ubuntu下载系统镜像(TTTTTT)的问题。如果你使用的是较新版本的Ubuntu,那么其**默认内核将不支持nfs2**!而**uboot仅支持到nfs2**,因此我们需要修改系统内核以及nfs配置文件,开启nfs2服务。**此问题非常棘手**,因为问题出现的时间太近,并且使用的人少。由于是2023年后才出现的问题,**chatgpt也无法解答**!本文参考网络上多篇博客资料,是解决此问题的最新办法。
ubuntu系统下安装软件的方法有多种,包括使用apt工具、deb软件包安装、源码编译安装以及通过软件中心安装。还有一种以 .run 后缀的软件包也可以在ubuntu系统下安装。具体的安装方法可以通过百度搜索来获取。
文章浏览阅读814次。本篇目的:Xubuntu如何安装pkg-configpkg-config是一个计算机软件包,用于帮助开发人员查找、定位和使用依赖库。它通常用于构建软件时,开发人员需要指定程序所依赖的外部库的位置和版本信息。使用pkg-config,开发人员可以很容易地查找、检索和导出这些依赖库的信息,从而简化了软件的构建过程。_ubuntu中怎么下载pkg-config
文章浏览阅读2k次。ubuntu创建共享文件夹_ubuntu20.04共享文件夹
文章浏览阅读2.9k次,点赞74次,收藏73次。对于有长期远程桌面需求的用户,建议将cpolar套餐升级到专业套餐,支持配置固定的公网TCP端口,且带宽也会相应的增大,支持更高效便捷的远程桌面连接Ubuntu系统。【cpolar内网穿透支持http/https/tcp协议,支持永久免费使用,不限制流量,无需公网IP,也不用进入路由器设置,操作简单。隧道创建成功后,点击左侧仪表盘的状态——在线隧道列表,查看xrdp隧道的所生成的公网TCP端口地址,复制下来。,使用cpolar内网穿透映射3389端口,生成公网TCP端口地址,实现在公网环境下,_ubuntu 局域网桌面
文章浏览阅读3.2k次。而在linux的ubuntu版本中,又多出两类用户:安装ubuntu系统的源用户xxx,其与root具有相同权限,仅在执行命令时,前面加sudo。在ubuntu中,用命令deluser username可以直接删除用户账号及家目录,而用centos7中的命令userdel -r username才能达到同样目的。在ubuntu中,没有moduser命令,centos7中的usermod修改用户信息的命令,同样可以用在ubuntu中。在系统中,创建新的用户或称为账号,一般需要多步操作。_ubuntu创建一个新用户
文章浏览阅读1.6w次,点赞4次,收藏23次。系统的许多日志文件都存储在 /var/log 目录中。你可以使用 ls /var/log 命令来列出可用的日志文件。/var/log/Xorg.0.log:包含 X 服务器的日志信息(图形界面)。打开DASH,搜索日志或者log,打开app,这个是/var/log的界面版。这将显示系统日志的末尾,并提供有关系统崩溃和错误的信息。/var/log/kern.log:包含内核日志信息。/var/log/dmesg:包含开机时的日志信息。/var/log/syslog:包含系统日志信息。_ubuntu查看系统日志
文章浏览阅读857次。首先将source.list复制为source.list.bak备份,然后将source.list内容改为需要的镜像源列表即可。Ubuntu采用apt作为软件安装工具,其镜像源列表记录在/etc/apt/source.list文件中。本节均为 Ubuntu 20.04 的镜像源列表。若为其他版本,将所有focal更改为其他版本代号即可。_apt 国内源