win10 ubuntu16.04双系统

刚把ubuntu升级到18.04,第二天就需要ubuntu16.04,无奈只能重装系统。记录一下对我这台电脑有用的方法。
硬件清单:

ubuntu16.04系统安装

U启安装ubuntu系统,legacy模式下安装,安装之前将显示屏切换到集卡的接口
1. 配置grub文件
安装完成之后,配置grub文件,不然安装nvidia驱动之后会出现黑屏。
打开终端

sudo gedit /etc/default/grub


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
保存,关闭文件,更新

sudo update-grub

安装驱动出现黑屏的原因,是因为ubuntu需要手动添加显卡驱动选项,nvidia显卡则需要添加nomodeset。
具体详情请参考:
http://forum.ubuntu.org.cn/viewtopic.php?t=293328

2. 将nouveau添加到黑名单blacklist.conf中
Ubuntu系统集成的显卡驱动程序是nouveau,我们需要先将nouveau从Linux内核卸载掉才能安装NVIDIA官方驱动。将nouveau添加到黑名单blacklist.conf中,linux启动时,就不会加载nouveau。

sudo gedit /etc/modprobe.d/blacklist.conf

在文件的末尾添加

blacklist nouveau 

更新内核

sudo apt-get upgrade

更新完之后重启,确认nouveau是已经被屏蔽掉,使用lsmod命令查看,若已经被屏蔽掉就不会有输出

lsmod | grep nouveau

安装nvidia驱动

  1. 删除之前的驱动
 sudo apt-get purge nvidia*
  1. 添加ppa源,据说这样可以让驱动下载的更快
sudo add-apt-repository ppa:graphics-drivers/ppa

Ctrl + Alt + F1 进入命令行,关闭图形界面

sudo service lightdm stop
  1. 安装nvidia驱动
sudo apt-get update && sudo apt-get install nvidia-390
  1. 重启
reboot

检查驱动安装情况

nvidia-smi

在这里插入图片描述

安装cuda8.0和cudnn6.0

安装cuda8.0

  1. 下载cuda8.0,网址:https://developer.nvidia.com/cuda-80-ga2-download-archive
    在这里插入图片描述
    这边的话,要下载runfile文件,不要deb文件,deb文件在安装时会帮你安装一个版本比较低的invidia驱动,与之前安装的驱动冲突,会出现错误。(当然,可以不提前安装驱动,直接在装好系统之后下载cuda8.0 deb文件)。
  2. 安装过程,按照官网的指示就可以了,注意不要安装nvidia驱动
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
 [ default is /usr/local/cuda-8.0 ]: 

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
 [ default is /home/ubuntu ]: 

Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...

  1. 设置cuda的环境变量,打开.bashrc文件:
gedit ~/.bashrc

在末尾添加

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

运行 source ~/.bashrc 使其生效
设置环境变量和动态链接库(可省略)

sudo gedit /etc/profile

在打开的文件末尾加入:(可省略)

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

保存之后,创建链接文件:(可省略)

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

在打开的文件中添加如下语句:(可省略)

/usr/local/cuda/lib64

然后执行以下命令使链接立即生效。(可省略)

sudo ldconfig
  1. 测试一下cuda的例子,检查是否安装成功
cd  /usr/local/cuda/samples
cd 1_Utilities/
cd deviceQuery
sudo make 
./deviceQuery

运行结果如下:

./deviceQuery Starting...

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

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 1080 Ti"
  CUDA Driver Version / Runtime Version          9.1 / 8.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 11177 MBytes (11720130560 bytes)
  (28) Multiprocessors, (128) CUDA Cores/MP:     3584 CUDA Cores
  GPU Max Clock rate:                            1709 MHz (1.71 GHz)
  Memory Clock rate:                             5505 Mhz
  Memory Bus Width:                              352-bit
  L2 Cache Size:                                 2883584 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,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,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 = 9.1, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 1080 Ti
ubuntu@ubuntu-System-Product-Name:/usr/local/cud

cudnn6.0安装

  • CUDNNv6下载地址:https://developer.nvidia.com/rdp/cudnn-download
    选择cuDNN v6.0 Library for Linux版本进行下载,需要先注册一个账号,登录后才能下载。
  • cd到cudnn6.0所在文件夹,解压,解压后会在同目录下生成cuda文件夹,进入cuda文件夹下,并执行相关文件的拷贝
  • 解压
ubuntu@ubuntu-System-Product-Name:~$ tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.6
cuda/lib64/libcudnn.so.6.0.21
cuda/lib64/libcudnn_static.a
  • 复制拷贝
cd cuda
 sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
  • 更新软连接:
cd /usr/local/cuda/lib64/ 
sudo rm -rf libcudnn.so libcudnn.so.6 #删除原有动态文件 
sudo ln -s libcudnn.so.6.0.21  libcudnn.so.6 #生成软衔接,注意你的cudnn的版本号,跟你之前解压出来的一致~~删除线格式~~ 
 sudo ln -s libcudnn.so.6 libcudnn.so #生成软链接 
 sudo ldconfig

opencv安装

这一步我是按照官方教程来的,安装版本为opencv3.2大致代码为:

  1. 安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
  1. 安装opencv3.2
cd opencv-3.2.0/
mkdir build
cd build/
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j7
sudo make install
  1. 验证是否安装完好
    具体请参考https://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

安装anaconda

这里安装的是python3.5 对应版本号Anaconda3-4.2.0-Linux-x86_64.sh
下载网址:https://repo.continuum.io/archive/
安装教程:https://docs.continuum.io/anaconda/install/linux/

安装tensorflow

请注意安装tensorflow的版本,tensorflow1.5需要cuda9.0。因本机安装了cuda8.0所以选择为1.3版本,

pip install tensorflow-gpu==1.4

详细参考:https://blog.csdn.net/lifuxian1994/article/details/81103530
测试,ubuntu终端输入spyder,运行以下代码:

import tensorflow as tf 
a=tf.constant([1.0,2.0,3.0],shape=[3],name='a') 
b=tf.constant([1.0,2.0,3.0],shape=[3],name='b') 
c=a+b 
sess=tf.Session(config=tf.ConfigProto(log_device_placement=True)) 
print (sess.run(c))
#[2. 4. 6.]

安装caffe

本来不想安装这部分的,准备直接安装一个tensorflow,但是小伙伴突然说要用,所以就准备安装一个,python3.5版的,恩 在anaconda3.5的基础上安装。

  1. 安装默认依赖
sudo apt-get install build-essential
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
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

如果你是基于python3或者anaconda3安装的,创建一个链接,否则之后会出错

 sudo ln /usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/local/lib/libboost_python3.so

  1. 下载caffe到本地:

方法一:https://github.com/BVLC/caffe方法一:https://github.com/BVLC/caffe
方法二:

    git clone https://github.com/BVLC/caffe.git  //从github上git caffe  
  1. 配置Makefile文件和Makefile.config文件
cp Makefile.config.example Makefile.config
gedit ./Makefile.config

编辑Makefile.config文件,编辑完成的是这样的

USE_CUDNN := 1
OPENCV_VERSION := 3
CUDA_DIR := /usr/local/cuda
CUDA_ARCH :-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_52,code=sm_52 \
		-gencode arch=compute_60,code=sm_60 \
		-gencode arch=compute_61,code=sm_61 \
		-gencode arch=compute_61,code=compute_61
BLAS := atlas
ANACONDA_HOME := $(HOME)/anaconda3
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
		$(ANACONDA_HOME)/include/python3.5m \
		$(ANACONDA_HOME)/lib/python3.5/site-packages/numpy/core/include
PYTHON_LIB := $(ANACONDA_HOME)/lib
PYTHON_LIBRARIES := boost_python-py35 python3.5m
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/
BUILD_DIR := build
DISTRIBUTE_DIR := distribute
TEST_GPUID := 0
Q ?= @

配置Makefile文件


    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
    替换为
    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 opencv_core opencv_imgproc opencv_imgcodecs opencv_highgui

NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) #大概位置为425行
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)


  1. 编译
make all -j8

幸运的是一次,结果大约是这样的:
在这里插入图片描述
编译成功后,进行验证,没有错误即安装成功

make runtest -j8

基本上到这一步我都会出错,具体错误再补充。

  1. 编译python接口
    直接进入caffe根目录,编译pycaffe

    make pycaffe -j8

配置环境

sudo gedit ~/.bashrc  # add the following line
export PYTHONPATH=/path/to/caffe-master/python:$PYTHONPATH
source ~/.bashrc

测试pycaffe
python

>>> import caffe    # 不报错即安装成功

注:如果提示找不到caffe,可以尝试用root用户配置环境,并用root用户执行;或者今后在写代码的时候,每次都直接将caffe的路径加入即可,

import sys
sys.path.append('/path/to/caffe-master/python')
 import caffe

完成!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值