[深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解
首先吐个槽,ubuntu + nvidia的显卡驱动简直是反人类,害的我折腾了一天多。
一、问题及解决办法
寒假放假回家没事干,正好给家里电脑升级了显卡gtx1050可以跑跑CNN。我在实验室的显卡是560,比较老了,按着实验室的环境配置流程走下来居然不能用,症状就是在Python中不能成功的import caffe,然后重启后无限循环登录。
问题:
不能进入ubuntu的图形界面,在登录界面循环。
解决办法:
Nvidia显卡驱动的锅,卸载显卡驱动,按Ctrl+Alt+F1进入终端模式登录,输入命令
- sudo apt-get remove --purge nvidia*
卸载显卡驱动,然后重启计算机,命令如下:
- sudo reboot
现在就可以登录图形界面进行cuda + cudnn + caffe的环境配置了。
二、安装流程
2.1 Opencv安装
- sudo apt-get install build-essential
- sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev
- sudo apt-get install cmake
- sudo apt-get install pkg-config
(3)把Opencv安装包解压,放到某目录下,这里我是放到了home目录下,在Opencv的目录下新建文件夹为release,在终端中进入Opencv的release目录,运行如下命令:
- cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
(4)使用如下命令编译Opencv并安装:
- make
- sudo make install
至此Opencv已经安装完成,可以使用codeblocks建工程使用Opencv进行测试,方法见我的一篇博文《Ubuntu下codeblocks安装配置方法及opencv配置方法》
2.2 配置其他依赖
- sudo chmod a+x xxx.sh
运行该shell脚本
- sh ./xxx.sh
shell脚本内容如下:
- #!/bin/bash
- # ATLAS
- echo "===========atlas=============="
- apt-get -y install libatlas-base-dev
- # snappy
- echo "===========snappy=============="
- # apt-get -y install snappy
- apt-get -y install libsnappy-dev
- # boost
- echo "===========boost=============="
- apt-get -y install libboost-dev
- apt-get -y install libboost-filesystem-dev
- apt-get -y install libboost-system-dev
- apt-get -y install libboost-thread-dev
- apt-get -y install libboost-python-dev
- # protobuf
- echo "===========protobuf=============="
- apt-get -y install libprotobuf-dev
- apt-get -y install protobuf-compiler
- apt-get -y install python-protobuf
- # leveldb
- echo "===========leveldb=============="
- apt-get -y install libleveldb-dev
- # lmdb
- echo "===========lmdb=============="
- apt-get -y install liblmdb-dev
- # hdf5
- echo "===========hdf5=============="
- apt-get -y install libhdf5-dev
- # glog
- echo "===========glog=============="
- apt-get -y install libgoogle-glog-dev
- # gflag
- echo "===========gflag=============="
- apt-get -y install libgflags-dev
- # cython
- echo "===========cython=============="
- apt-get -y install cython
- # scipy
- echo "===========scipy=============="
- apt-get -y install python-scipy
- # scikit-image
- echo "===========scikit-image=============="
- apt-get -y install python-skimage
- # pyyaml
- echo "===========pyyaml=============="
- apt-get -y install python-yaml
- # easydict
- echo "===========easydict=============="
- apt-get -y install python-pip
- # 指定使用科大镜像源安装easydict
- pip install easydict -i https://pypi.mirrors.ustc.edu.cn/simple
- ## 错误排查
- # 修复一个比较奇怪的一定要检查这个目录是否存在的问题
- mkdir -p /usr/lib64
- # 修复cuda链接库找不到的问题
- echo "/usr/local/cuda/lib64" > cuda.conf
- cp cuda.conf /etc/ld.so.conf.d
- ldconfig
这个shell脚本是我师兄写的,在这里鸣谢我师兄!
2.3 caffe源码下载及编译
(1)安装git
- sudo apt-get install git
(2)拉取caffe源码
- git clone https://github.com/BVLC/caffe.git
(3)设置Makefile.config文件
- sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
- sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
- sudo ldconfig
- make all -j4
ii:执行以下命令,其中-j4是表示使用4个线程进行编译
- make test -j4
- make runtest -j4
- make pycaffe -j4
- make distribute
至此,caffe已经安装完成。
2.4 Nvidia驱动安装
这里注意,一定要去Nvidia官网上去下载驱动,特别是针对10系的显卡!!!
- sudo chmod a+x NVIDIA-Linux-x86_64-375.26.run
(3)关闭Ubuntu图形界面
- sudo service lightdm stop
- sudo ./NVIDIA-Linux-x86_64-375.26.run --no-x-check --no-nouveau-check --no-opengl-files
- sudo service lightdm start
按Ctrl + Alt + F7进入图形界面。
2.5 Cuda安装
同样,这里的Cuda安装时也不要使用命令行直接安装,去Nvidia官网https://developer.nvidia.com/cuda-downloads下载cuda进行安装
文件有1.4G大小,最好用迅雷下会快一些。
- sh cuda_8.0.27_linux.run --override
首先会提醒你看一些它的使用协议,一直按空格直到出现是否同意,选择Accept
接下来的安装过程一路选择yes,然后按照默认的来就可以了。
2.6 cuDNN安装
去Nvidia官网https://developer.nvidia.com/rdp/cudnn-download下载cuDNN安装包,选择这个:Download cuDNN v5.1 (August 10, 2016), for CUDA 8.0 版本
- cd cuda/include/
- sudo cp cudnn.h /usr/local/cuda/include/
- cd ../lib64
- sudo cp lib* /usr/local/cuda/lib64/
- sudo chmod a+r /usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*
接下来执行以下命令:
- cd /usr/local/cuda/lib64/
- sudo rm -rf libcudnn.so libcudnn.so.5
- sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
- sudo ln -s libcudnn.so.5 libcudnn.so
在终端中输入以下命令进行环境变量的配置:
- sudo gedit /etc/profile
在出现的文件中进行编辑,在末尾加上并保存:
- PATH=/usr/local/cuda/bin:$PATH
- export PATH
创建链接文件
- sudo gedit /etc/ld.so.conf.d/cuda.conf
在该文件中,插入/usr/local/cuda/lib64并保存,然后使用sudo ldconfig使之生效。
2.7 测试
在终端中进入CUDA 8.0 Samples默认安装路径,输入命令:
- sudo make all -j4
此步可能会出错,出错处理见最下面的参考链接4,我这里没有出错。完成后继续输入
- cd bin/x86_64/linux/release
- ./deviceQuery
出现下图则表示cuda安装完成
在已经配置好的eclipse + pydev环境中,新建python工程和源程序,并在工程名下右键——Properties——PyDev-PYTHONPATH——External Libraries中Add Source folder中选择/home/hanchao/caffe/python路径
- import caffe
- print 'hello world'
若编译运行后没有错误,则环境已经配置好。
- PYTHON_INCLUDE := /usr/include/python2.7 \
- /usr/lib/python2.7/dist-packages/numpy/core/include
修改为
- PYTHON_INCLUDE := /usr/include/python2.7 \
- /usr/local/lib/python2.7/dist-packages/numpy/core/include
即可
参考链接:
WoPawn的博客——ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历
[深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解相关推荐
- Ubuntu16.04+Titan X+CUDA8.0+cudnn5.1+Caffe
1.安装Ubuntu16.04 LTS x64 利用工具rufus制作USB系统盘(官方下载64位版本: ubuntu-16.04-desktop-amd64.iso),因为已有Win7系统,此处选择 ...
- ubuntu16.04+cuda8.0+cudnn5.1+caffe 安装(基于独立主机集成显卡GTX1080Ti)
最近开始配置自己的深度学习主机,由于之前只在笔记本上和单显卡主机上安装过,所以可以说是zero经验,以至于很多问题不了解都当成了bug,故为了方便以后的自己以及大众,特在此写下post一篇.(由于可能 ...
- 安装ubuntu16.04+Nvidia驱动+Cuda8.0+Cudnn5.1+Matlab R2017b+Pycharm+WPS
硬件环境:NVIDIA GTX 760+i5 本文只是为了方便以后自己再安装时比较方便,做的一个记录.所以基本所有步骤都来自各参考文章的步骤. 安装ubuntu16.04 安装Nvidia驱动 安装C ...
- 【caffe2从头学】:1.2安装(Ubuntu16.04+GTx 1070Ti+cuda9.0+cudnn7.2+anaconda2+Python2.7+caffe2【Python版本】)
本片文章是我的[caffe2从头学]系列中的一篇,如果想看其他文章,请看目录: 1.快速开始 1.1.什么是caffe2 ? 1.2.安装caffe2 1.3.安装容易出现的问题 2.学习caffe2 ...
- 一篇就够用了——深度学习Ubuntu16.04环境配置+Win10双系统
一篇就够用了深度学习Ubuntu16.04环境配置 必看!此教程使用说明 [必备配置]基本环境配置 1.win10+ubuntu16.04双系统安装 2.ubuntu最重要的事--切换下载源 3.ub ...
- DynamicFusion在ubuntu16.04+显卡GT740+cuda8.0上的实现
目录 介绍 1.驱动与cuda安装 (1)驱动安装 a.驱动下载 b.禁用nouveau驱动 c.禁用X-Window服务 d.命令行安装驱动 e.驱动测试 (2)cuda7.5安装 2.环境配置 ( ...
- Keras深度学习实战(1)——神经网络基础与模型训练过程详解
Keras深度学习实战(1)--神经网络基础与模型训练过程详解 0. 前言 1. 神经网络基础 1.1 简单神经网络的架构 1.2 神经网络的训练 1.3 神经网络的应用 2. 从零开始构建前向传播 ...
- 深度学习之图像分类(十九)-- Bottleneck Transformer(BoTNet)网络详解
深度学习之图像分类(十九)Bottleneck Transformer(BoTNet)网络详解 目录 深度学习之图像分类(十九)Bottleneck Transformer(BoTNet)网络详解 1 ...
- 深度学习之图像分类(二十八)-- Sparse-MLP(MoE)网络详解
深度学习之图像分类(二十八)Sparse-MLP(MoE)网络详解 目录 深度学习之图像分类(二十八)Sparse-MLP(MoE)网络详解 1. 前言 2. Mixture of Experts 2 ...
最新文章
- SDNU 1209.磊磊的随机数
- 11. 系统信息监控
- css如何调整红心样式_css3实现的红心跳动效果
- java icache_Java ICacheWordSubscriber類代碼示例
- python中模块sys与os的一些常用方法
- @EnableTransactionManagement原理
- NSLog的常用格式说明小释
- 脉冲宽度调制pdm_STM32第七章-脉冲宽度调制
- 华为张熙伟:鲲鹏计算产业已汇聚30万开发者
- 网络编程学习2-套接字编程简介
- 通州区机器人比赛活动总结_机器人科技活动总结.doc
- 035 浅谈WebGame
- 将html转换为string格式
- 深入剖析线程同步工具CountDownLatch原理
- 【Data truncation: Data too long for column ‘XXX at row 1 报错】
- QGC编译报错error C2220: 警告被视为错误 最佳解决方法
- 用汇编语言编程的计算机
- python读取图片的格式_python读取图片并修改格式与大小的方法
- 获得当前年月日时分秒并能判断是早晨 中午 下午 深夜
- 什么是量子霸权?我们如何才能实现它?
热门文章
- boost::mpl::distance相关的测试程序
- boost::hana模块在无限可迭代对象上测试 hana::index_if
- boost::filesystem::detail::possible_large_file_size_support
- boost::describe模块实现嵌套枚举的测试程序
- boost::int64_t模块int64 范围的测试程序
- boost::gregorian模块实现日期相关的测试程序
- Boost:bind绑定查找问题的测试程序
- ITK:对给定LabelMap的所有LabelObject应用形态学关闭操作
- VTK:图片之Flip
- VTK:图表之SelectedVerticesAndEdges