ubuntu16.04+cuda8.0+cudnn+opencv3.0+caffe

2023-05-16

一.ubuntu16.04安装

开机F12进入BIOS的设备启动菜单,选择U盘启动。
安装类型,选择其他选项,进行分区。
在这里插入图片描述
Swap:逻辑分区,20GB 空间起始位置 交换空间
/boot(引导分区):10G 逻辑分区 空间起始位置 Ext4日志文件系统 /boot
/.(主分区):100GB 主分区,用于存放系统.
/home(用户存储数据用):逻辑分区,剩下的440GB全部留给了/home。

其余全部一下步即可。

BUG:直接进入win7系统,没有选择ubuntu系统的选项。
Solution:EasyBCD

二.cuda8.0

1.检查自己的GPU是否支持CUDA

lspci | grep -i nvidia

在这里查看:[https://developer.nvidia.com/cuda-gpus] ,有的话就可以继续啦,不然只能换个显卡了。

2.安装nvidia驱动

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt-get update
sudo apt-get install nvidia-367 
sudo apt-get install mesa-common-dev 
sudo apt-get install freeglut3-dev

执行完上述后,重启:sudo reboot
输入:nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。

3.禁止ubuntu系统自带的nouveau显卡驱动。
查看自己的驱动状态:lsmod | grep nouveau
如果有显示就要执行下面的操作了,一般新系统都是有输出的。
创建blacklist-nouveau.conf:sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在新建的文件里添加如下内容:

blacklist nouveau
options nouveau modeset=0

更新:sudo update-initramfs -u
执行完上述后,重启:sudo reboot
再一次检查是否禁用成功lsmod | grep nouveau
没有东西输出变是成功啦。

4.安装run文件
A. [https://developer.nvidia.com/cuda-downloads]官网下载适合自己的run安装包
B.重启系统后,不要进入登陆界面(!!!否则可能会安装失败),直接按 Ctrl+Alt+F1进入文本模式(命令行界面),输入用户名和密码,登录账户。
C.关闭图形化界面

sudo service lightdm stop

D.使用cd 命令切换到cuda_8.0.61_375.26_linux.run的目录,执行

sudo sh cuda_8.0.27_linux.run

安装的时候,要让你先看一堆文字(EULA),我们直接不停的按##空格键到100%;不要选择安装驱动,遇到提示是否安装openGL ,选择no,其他的可以一路accept, yes或回车,不建议安装samples.以及x-config。

E.重启图形化界面

sudo service lightdm start

F.如果出现循环登录,按 F2 进入 boot 界面,确定secure boot 选项是 disable。

5.配置环境

sudo gedit /etc/profile

打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):

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

重启电脑:sudo reboot

6.检查是否成功

cat /proc/driver/nvidia/version
nvcc -V
nvidia-smi

有输出

ls /dev/nvidia*

显示三个或四个

三.cudnn

1.下载cudnn-8.0-linux-x64-v5.1.tgz
2. 解压文件tar zxvf cudnn-8.0-linux-x64-v5.1.tgz,解压后,得到cuda文件夹,内有include和lib64两个文件夹。
3. 进入include文件夹,执行如下命令复制头文件:

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

4.进入lib64文件夹,执行如下命令复制动态链接库:

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

5.进入复制后的动态链接库进行新的链接
先进入目录:cd /usr/local/cuda/lib64/
查看已有链接:ls -al | grep libcudnn
显示四个
删除原有动态文件:sudo rm -rf libcudnn.so libcudnn.so.5
再次查看:ls -al | grep libcudnn
显示两个,说明已删除,现在建立新的链接:

sudo ln -s libcudnn.so.5 libcudnn.so
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接

(上面那一条也有可能是sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
这里需要先查看一下自己应该链接的是 libcudnn.so.5.1.10 还是 libcudnn.so.5.1.5 ,查看方法为下:

locate libcudnn.so

执行完后显示如下:

/home/yxy/.local/share/Trash/files/libcudnn.so
/home/yxy/.local/share/Trash/files/libcudnn.so.5 	
/home/yxy/.local/share/Trash/files/libcudnn.so.5.1.10 	
/home/yxy/.local/share/Trash/files/cuda/lib64/libcudnn.so 	
/home/yxy/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 	
/home/yxy/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10 	
/home/yxy/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo 	
/home/yxy/.local/share/Trash/info/libcudnn.so.5.trashinfo 	
/home/yxy/.local/share/Trash/info/libcudnn.so.trashinfo 	
/home/yxy/cuda/lib64/libcudnn.so 	
/home/yxy/cuda/lib64/libcudnn.so.5 	
/home/yxy/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so 	
/usr/local/lib/libcudnn.so.5

可以看到我的文件是 libcudnn.so.5.1.10 ,并没有 libcudnn.so.5.1.5,所以第三行命令我链接的是 libcudnn.so.5.1.10 ,这里第三行链接命令视你的查看结果而定。)
再次查看:

 ls -al | grep libcudnn

显示四个,已链接好!
然后设置环境变量和动态链接库:

sudo gedit /etc/profile

然后再打开的文件末尾加上(“=”前后不要有空格)

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

保存之后创建链接文件:

sudo vi /etc/ld.so.conf.d/cuda.conf

这是一个空白文件,添加:

/usr/local/cuda/lib64

按下esc键,输入(:wq)保存并退出
输入如下命令使链接生效

sudo ldconfig

四.opencv3.0

1.安装OpenCV的一些依赖库。(可以写一个脚本,直接全部运行)

sudo apt-get -qq remove ffmpeg x264 libx264-dev
sudo apt-get -y install libopencv-dev
sudo apt-get -y install build-essential
sudo apt-get -y install cmake
sudo apt-get -y install pkg-config
sudo apt-get -y install yasm
sudo apt-get -y install libjasper-dev
sudo apt-get -y install libavcodec-dev
sudo apt-get -y install libavformat-dev
sudo apt-get -y install libswscale-dev
sudo apt-get -y install libdc1394-22-dev
sudo apt-get -y install libxine-dev
sudo apt-get -y install libgstreamer0.10-dev
sudo apt-get -y install libgstreamer-plugins-base0.10-dev
sudo apt-get -y install libv4l-dev
sudo apt-get -y install python-dev
sudo apt-get -y install python-numpy
sudo apt-get -y install python-scipy
sudo apt-get -y install  python-sphinx
sudo apt-get -y install libtbb-dev
sudo apt-get -y install libqt4-dev
sudo apt-get -y install libgtk2.0-dev
sudo apt-get -y install libfaac-dev
sudo apt-get -y install libmp3lame-dev
sudo apt-get -y install libopencore-amrnb-dev
sudo apt-get -y install libopencore-amrwb-dev
sudo apt-get -y install libtheora-dev
sudo apt-get -y install libvorbis-dev
sudo apt-get -y install libxvidcore-dev
sudo apt-get -y install x264
sudo apt-get -y install v4l-utils
sudo apt-get -y install unzip
sudo apt-get -y install libgtk2.0-0
sudo apt-get -y install libjpeg-dev
sudo apt-get -y install libjpeg62 
sudo apt-get -y install libtiff4-dev
sudo apt-get -y install libtiff5-dev
sudo apt-get -y install qt5-default

2.下载一个安装包,为后面编译安装做准备。

wget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-0.8.5.tar.bz2
wget http://ffmpeg.org/releases/ffmpeg-2.8.tar.bz2
wget -O opencv-3.0.0.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.0.0/opencv-3.0.0.zip/download

3.安装mmfpeg

sudo apt-get install -y libx264-dev libxext-dev libxfixes-dev
tar -xf ffmpeg-2.8.tar.bz2
cd ffmpeg-2.8
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
make -j
make install
cd ..

4.安装v4l

tar -xvf v4l-utils-0.8.5.tar.bz2
cd v4l-utils-0.8.5
make -j
sudo make install
cd ..

5.安装opencv

sudo unzip opencv-3.0.0.zip
cd opencv-3.0.0
sudo mkdir build
cd build
# 注意根据自己的显卡,修改 CUDA_GENERATION。如果是Fermi架构,就需要将Kepler修改成Fermi
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON CUDA_GENERATION=Kepler ..
sudo make -j
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

6.BUG
执行sudo make时,可能出现

make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o]
Error 1 make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all]
Error 2 make: *** [all] Error 2的错误。

那是因为 cuda-8.0与OpenCV 3.0发生了冲突。解决方法:修改openCV 3.0源码,使其兼容cuda-8.0

sudo gedit opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp

将第四十五行位置的

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#if !defined(HAVE_CUDA)||defined(CUDA_DISABLER)||(CUDART_VERSION>=8000)

然后重新

sudo make -j4 

五.caffe

1.安装caffe相关依赖

sudo apt-get install git libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev python-dev libgflags-dev libgoogle-glog-dev liblmdb-dev

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

安装python依赖库

sudo apt-get install cython python-numpy python-scipy python-skimage python-scikits-learn python-matplotlib ipython python-h5py python-leveldb python-networkx python-nose python-pandas python-dateutil python-protobuf python-gflags python-yaml python-pil

安装矩阵加速器

sudo apt-get install libopenblas-dev

2.从官网下载caffe-master压缩包,解压到自己想要的目录,进入主目录下

cp Makefile.config.example Makefile.config

3.sudo gedit Makefile.config
修改BLAS:=open
use_cudnn :=1的备注取消

修改下面配置:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ 

应用 opencv 版本
#OPENCV_VERSION := 3取消注释
使用 python 接口
#WITH_PYTHON_LAYER := 1 取消注释

4.可以开始编译了

make all -j8 make test -j8 make runtest -j8 make pycaffe

其他错误,可参考欧尼的博客:https://www.cnblogs.com/zzq-123456/p/7374547.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu16.04+cuda8.0+cudnn+opencv3.0+caffe 的相关文章

  • 如何将 cv::MAT 转换为 NHCW 格式?

    在User Guide html中 tensorRT的输入 输出需要使用NCHW格式 什么是 NCHW 格式 如何将 cv MAT 转换为 NCHW 格式 我使用 TensorRT 运行推理 如下代码所示 没有任何错误 但是 这不是正确的输
  • 为 Caffe 生成 LMDB

    我正在尝试使用 caffe 我正在使用 python 包装器 构建用于显着性分析的深度学习模型 但我无法理解如何为此目的生成 lmdb 数据结构 我已经浏览了 Imagenet 和 mnist 示例 我明白我应该以以下格式生成标签 my t
  • Caffe 中的“lr_policy”是什么?

    我只是想知道如何使用Caffe http caffe berkeleyvision org 为此 我只是看看不同的 prototxt示例文件夹中的文件 有一个选项我不明白 The learning rate policy lr policy
  • CNN 上的快速损失收敛意味着什么?

    我正在两个不同的深度学习库 Caffe e Tensorflow 中训练两个 CNN AlexNet e GoogLeNet 该网络由每个图书馆的开发团队实施 here https github com BVLC caffe tree ma
  • 如何在非 NVIDIA 设置上加速深度学习?

    由于我只有 AMD A10 7850 APU 并且没有资金购买 800 1200 美元的 NVIDIA 显卡 因此我正在尝试利用我拥有的资源通过 TensorFlow Keras 加速深度学习 最初 我使用了 Tensorflow 的预编译
  • 使用 Caffe 没有提高 RMSprop、Adam、AdaDelta 测试精度

    I am finetuning using Caffe在图像数据集上Tesla K40 用一个batch size 47 solver type SGD base lr 0 001 lr policy step momentum 0 9 g
  • tensorflow-gpu 无法与 Blas GEMM 一起使用 启动失败

    我安装了tensorflow gpu 以在GPU 上运行我的tensorflow 代码 但我无法让它运行 它不断给出上述错误 以下是我的示例代码 后面是错误堆栈跟踪 import tensorflow as tf import numpy
  • 在 ubuntu 16.04 中安装 Caffe 时遇到困难

    操作系统 ubuntu 16 04 CUDA 7 5 库德恩 5 我正在关注this https github com BVLC caffe wiki Ubuntu 16 04 or 15 10 OpenCV 3 1 Installatio
  • 由于 gcc 编译器版本不受支持,Caffe 编译失败

    我挣扎着Caffe http caffe berkeleyvision org 汇编 不幸的是我没能编译它 Steps http caffe berkeleyvision org installation html cmake compil
  • 未定义符号:_ZdlPvm

    我在用阿波罗咖啡 https github com Russell91 apollocaffe and 重新检查 https github com Russell91 ReInspect Apollocaffe在 c 库中并且Reinspe
  • Caffe 准确率大于 100%

    我正在构建一个 但是当我使用上提供的自定义火车功能时莱内特示例 http nbviewer ipython org github BVLC caffe blob master examples 01 learning lenet ipynb
  • caffe: **group** 参数是什么意思?

    我已阅读有关的文档group param group g 默认 1 如果 g gt 1 我们将每个过滤器的连接限制为输入的子集 具体地 将输入和输出通道分为g组 第i个输出组通道将仅与第i个输入组通道连接 但首先我不明白它们的确切含义 其次
  • Caffe net.predict() 输出随机结果 (GoogleNet)

    我使用了预训练的 GoogleNethttps github com BVLC caffe tree master models bvlc googlenet https github com BVLC caffe tree master
  • 图像增强使性能变得更差[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在研究一个图像分割项目 并一直在尝试采用图像增强技术来增加训练集的大小 起初 我只是尝试使用水平翻转将图像尺寸放大一倍 但我发现性
  • 如何在prototxt文件中写注释?

    我找不到如何写评论prototxt files 有没有办法在 prototxt 文件中添加注释 如何 Thanks 您可以通过添加评论 char 之后的行中的所有内容都是注释 layer name aLayerWithComments I
  • Caffe:如果内存中只能容纳一小部分,我该怎么办?

    我正在尝试训练一个非常大的模型 因此 我只能将非常小的批量大小放入 GPU 内存中 处理小批量的结果非常噪声梯度估计 https stackoverflow com a 33717093 1714410 我该怎么做才能避免这个问题 您可以更
  • 如何以 HDF5 格式提供 caffe 多标签数据?

    我想将 caffe 与矢量标签一起使用 而不是整数 我检查了一些答案 似乎 HDF5 是更好的方法 但后来我陷入了这样的错误 precision layer cpp 34 检查失败 outer num inner num bottom 1
  • 如何在 Caffe 的网络中出现多次损失?

    如果我在网络中定义多个损失层 从这些末端到网络的开头是否会发生多个反向传播 我的意思是 他们真的是这样工作的吗 假设我有这样的事情 Layer1 Layer2 Layer n Layer cls1 bottom layer n top cl
  • 通过 Caffe 中的层提供数据的多种路径

    我想在 Caffe 中构建一个网络 其中传入的数据最初被分割 分别通过同一组层 最后使用 eltwise 层重新组合 此后 所有部件将作为一个斑点移动 除了学习的参数之外 数据并行移动的网络部分的层配置将是相同的 有没有一种方法可以在 Ca
  • 使用Python构建caffe(找不到-lboost_python3)

    我正在尝试用 python 构建 caffe 但它一直这样说 CXX LD o python caffe caffe so python caffe caffe cpp usr bin ld cannot find lboost pytho

随机推荐

  • 判断任意两台计算机的ip地址是否属于同一子网络 c语言,判断任意两台计算机的IP地址是否属于同一子网络...

    include 34 OJ h 34 include include using namespace std 功能 判断两台计算机IP地址是同一子网络 原型 xff1a int IsSameSubNetwork char pcIp1 cha
  • python mapreduce框架_Python实现mapreduce程序

    一 xff1a 目的 之前面试曾遇到面试官让用python代码实现mapreduce中最简单的demo WordCount 由于之前一直用java来写hadoop程序 xff0c 突然转到python xff0c 是我产生了质疑 xff0c
  • 计算机c 逻辑符号,c语言基本符号

    C 43 43 既可用于面向过程的结构化程序设计 xff0c 又可用于面向对象的程序设计 xff0c 是一种功能强大的混合型的程序设计语言 下面是小编收集的关于c语言基本符号 xff0c 希望大家认真阅读 运算符的种类C语言的运算符可分为以
  • c语言中特殊符号怎么定义,C语言特殊符号意义

    C语言特殊符号意义 由会员分享 xff0c 可在线阅读 xff0c 更多相关 C语言特殊符号意义 17页珍藏版 请在人人文库网上搜索 1 下载可编辑C 语言中像 D amp f符号的作用说一下最佳答案C 语言中的符号运算符的种类 C 语言的
  • 11 项目的工程文件存在哪里

    项目的工程文件都存在SVN服务器上 xff0c 在日常开发中 xff0c 一定存在多人进行开发 xff0c 那么就会造成代码重合现象 xff0c SVN就是解决这种矛盾冲突的 xff0c SVN是从Linux下产生的一款C S模式的软件版本
  • vnc连接某个服务器显示10061,VNC connect:Connection refused(10061)(示例代码)

    下面介绍一个VNC连接工具 xff1a iis7服务器管理工具 IIs7服务器管理工具可以批量连接并管理VNC服务器 作为服务器集成管理器 xff0c 它最优秀的功能就是批量管理windows与linux系统服务器 vps 能极大的提高站长
  • linux安装软件sudo吗,安装软件包方式:sudo apt-get和sudo tasksel有何不同

    要安装ubuntu desktop有什么方法 xff0c 比较方便的运行命令 xff0c 下面三条命令都成功的安装ubuntu desktop xff0c 即 xff1a sudo apt get install ubuntu deskto
  • 牛客网中c++题目及其知识点详解

    1 下面描述正确的是 1 2 int p1 61 new int 10 int p2 61 new int 10 p1和p2申请的空间里面的值都是随机值 p
  • 【C++】Eigen优化及D8016错误

    Eigen优化过程 背景 最近在写一个保边滤波的算法 为了加快运算速率 xff0c 采用C 43 43 语言 xff0c 使用Eigen库进行大矩阵运算 效率问题 作为基于全局图像的算法 xff0c 需要创建一个全局的矩阵 xff08 n
  • 控制系统-观测器介绍与设计-龙伯格观测器及其与控制器对比

    目录 1 观测器提出的背景 1 1 龙伯格观测器的物理意义 2 状态空间下龙伯格观测器设计 2 1 状态观测器设计 3 状态观测器实例 3 1 直接法 4 控制器与观测器对比 4 1 基于状态反馈的控制器设计 4 2 基于输出反馈的控制器设
  • 一文彻底搞懂大小端字节序

    一文彻底搞懂大小端字节序 文章目录 一文彻底搞懂大小端字节序 1 基本概念1 1大端字节序 big endian 1 2小端字节序 little endian 2 常用处理器架构大小端模式3 如何查看系统的大小端模式3 1 96 dpkg
  • logback输出日志到elasticsearch方案

    功能一 xff1a 微服务日志采集汇聚方案 第一步 xff1a maven引入 xff0c 放在dependencys的第一位 xff0c 一定是第一位 lt dependency gt lt groupId gt com suncreat
  • Ubuntu16.04 远程界面配置

    Ubuntu16 04安装 x11vnc远程桌面并设置开机自动启动 1 安装x11vnc sudo apt get install x11vnc 2 设置开机自动启动连接密码 sudo x11vnc storepasswd 3 将密码储存在
  • 12 怎么从SVN下载项目工程文件

    输入如下命令 一定要在自己的根目录下 xff1a 即 home xxx 否则需要修改环境变量 xff0c 将来与其他人的操作也会不统一 xff0c SVN服务器IP以192 168 0 1为例 命令 xff1a svn co svn 192
  • numpy中np.max和np.maximum

    参考 numpy中np max和np maximum 云 43 社区 腾讯云 1 np max a axis 61 None out 61 None keepdims 61 False 求序列的最值 最少接受一个参数 axis默认为axis
  • Pytorch的to(device)用法

    参考 Pytorch的to device 用法 云 43 社区 腾讯云 如下所示 xff1a device 61 torch device 34 cuda 0 34 if torch cuda is available else 34 cp
  • Camouflaged Object Detection

    摘要 我们对一项名为伪装物体检测 COD 的新任务进行了全面研究 xff0c 该任务旨在识别 无缝 嵌入到周围环境中的物体 目标对象与背景之间的高内在相似性使目标检测比传统的目标检测任务更具挑战性 为了解决这个问题 xff0c 我们精心收集
  • 如何改变vncserver在windows桌面下的分辨率

    用shell登录自己的服务器 xff0c 并输入一下命令 xff0c 1920x1080为屏幕分辨率 xff0c 11为自己的端口号 vncserver kill 14 vncserver 14 geometry 2000x1100 dpi
  • CVPR2019目标检测方法进展

    目标检测是很多计算机视觉应用的基础 xff0c 比如实例分割 人体关键点提取 人脸识别等 xff0c 它结合了目标分类和定位两个任务 现代大多数目标检测器的框架是 two stage xff0c 其中目标检测被定义为一个多任务学习问题 xf
  • ubuntu16.04+cuda8.0+cudnn+opencv3.0+caffe

    一 ubuntu16 04安装 开机F12进入BIOS的设备启动菜单 xff0c 选择U盘启动 安装类型 xff0c 选择其他选项 xff0c 进行分区 Swap xff1a 逻辑分区 xff0c 20GB 空间起始位置 交换空间 boot