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驱动
- 删除之前的驱动
sudo apt-get purge nvidia*
- 添加ppa源,据说这样可以让驱动下载的更快
sudo add-apt-repository ppa:graphics-drivers/ppa
Ctrl + Alt + F1
进入命令行,关闭图形界面
sudo service lightdm stop
- 安装nvidia驱动
sudo apt-get update && sudo apt-get install nvidia-390
- 重启
reboot
检查驱动安装情况
nvidia-smi
安装cuda8.0和cudnn6.0
安装cuda8.0
- 下载cuda8.0,网址:https://developer.nvidia.com/cuda-80-ga2-download-archive
这边的话,要下载runfile文件,不要deb文件,deb文件在安装时会帮你安装一个版本比较低的invidia驱动,与之前安装的驱动冲突,会出现错误。(当然,可以不提前安装驱动,直接在装好系统之后下载cuda8.0 deb文件)。 - 安装过程,按照官网的指示就可以了,注意不要安装nvidia驱动
Do you accept the previously read EULA?
accept/decline/quit: acceptInstall NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: nInstall the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: yEnter 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: yInstall the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: yEnter CUDA Samples Location[ default is /home/ubuntu ]: Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
- 设置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
- 测试一下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.0CUDA Capability Major/Minor version number: 6.1Total amount of global memory: 11177 MBytes (11720130560 bytes)(28) Multiprocessors, (128) CUDA Cores/MP: 3584 CUDA CoresGPU Max Clock rate: 1709 MHz (1.71 GHz)Memory Clock rate: 5505 MhzMemory Bus Width: 352-bitL2 Cache Size: 2883584 bytesMaximum 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 layersMaximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layersTotal amount of constant memory: 65536 bytesTotal amount of shared memory per block: 49152 bytesTotal number of registers available per block: 65536Warp size: 32Maximum number of threads per multiprocessor: 2048Maximum number of threads per block: 1024Max 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 bytesTexture alignment: 512 bytesConcurrent copy and kernel execution: Yes with 2 copy engine(s)Run time limit on kernels: YesIntegrated GPU sharing Host Memory: NoSupport host page-locked memory mapping: YesAlignment requirement for Surfaces: YesDevice has ECC support: DisabledDevice supports Unified Addressing (UVA): YesDevice PCI Domain ID / Bus ID / location ID: 0 / 1 / 0Compute 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 cudasudo 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大致代码为:
- 安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
- 安装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
- 验证是否安装完好
具体请参考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的基础上安装。
- 安装默认依赖
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
- 下载caffe到本地:
方法一:https://github.com/BVLC/caffe方法一:https://github.com/BVLC/caffe
方法二:
git clone https://github.com/BVLC/caffe.git //从github上git caffe
- 配置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_highguiNVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) #大概位置为425行
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
- 编译
make all -j8
幸运的是一次,结果大约是这样的:
编译成功后,进行验证,没有错误即安装成功
make runtest -j8
基本上到这一步我都会出错,具体错误再补充。
编译python接口
直接进入caffe根目录,编译pycaffemake 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
完成!
win10 ubuntu16.04双系统相关推荐
- UEFI安装Win10/Ubuntu16.04双系统记录
本文基于以下硬件环境: 主板:华硕ROG B250G 硬盘:浦科特M8PEG 256g(NVME M.2) 1. 操作系统相关科普 为安装双系统,我在网上查了许多资料,一些名词似曾相识却又不解其意,特 ...
- 联想小新Air15 2021新款11代酷睿版win10+Ubuntu16.04双系统装机笔记
联想小新Air15 2021新款酷睿版win10+Ubuntu16.04双系统装机笔记 安装过程记录 安装主要参考教程 第一个问题:找不到磁盘 第二个问题:找不到wifi选项 接下来的任务 安装过程记 ...
- 戴尔Latitude 3420:安装win10+ubuntu16.04双系统下找不到wifi
文章目录 前言 一.查看ubuntu内核版本 二.升级ubuntu内核 1.安装升级内核所需文件 2.下载对应的内核文件 3.安装5.3.5内核 三.安装驱动 1.重启遇到问题 2.安装驱动 前言 参 ...
- win10 linux 修复引导菜单,win10 + Ubuntu16.04双系统修复linux grub引导丢失
安装双系统 引导修复 1 在Ubuntu中将引导记录写入 boot 2 一波三折grub中的win10启动项又丢了 1. 安装双系统 win10 + Ubuntu16.04 双系统安装流程: 首先安装 ...
- 微星电脑安装win10+ubuntu16.04双系统遇到的各种坑
最近尝试在微星电脑安装ubuntu,遇到各种问题,在此记录一下 已有win10,安装ubuntu16.04LTS版本 微星ge73 Raider RGB 8RF 显卡:GTX1070 硬盘:1T机械+ ...
- [转载] UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
博客出处:http://www.cnblogs.com/willnote/p/6725594.html 安装环境 SSD+HDD双盘,Win10安装在SSD里,HDD分出来60G安装Ubuntu. 自 ...
- 毁灭者p6安装win10+Ubuntu16.04双系统血泪经验总结
在自己的毁灭者p6上安装win10+Ubuntu16.04,安到吐血,以下是血泪经验总结: 引子 首先制作iso镜像UltraISO.网上都有不多说. 然后,我是在默认的windows10 中去掉一个 ...
- win10+ubuntu16.04双系统 16.04无声音
我是10win下装了一个ubuntu16.4双系统,以前两个都是有声音的,今天进入win10后,又进入ubuntu,发现ubuntu没有声音了,按照网上各种方式都试了(sudo apt install ...
- uefi启动 多硬盘gtp_UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
安装环境 SSD+HDD双盘,Win10安装在SSD里,HDD分出来60G安装Ubuntu. 自行百度你的主板是否支持UEFI启动方式. Win10 下载Win10安装镜像.烧盘等步骤就不说了,重启后 ...
- win10+ ubuntu16.04 双系统及无线、输入法、deepin-wineQQ微信等配置(亲测)
2020.5.15更新 前言:使用双系统快一年了,linux真的是让我又爱又恨.爱它的开发方便快速,恨的是自己太笨不会玩它,导致随便删了个啥就出现一连串的问题.好在自己还没有搞到重装系统的份上,要不然 ...
最新文章
- iOS 9 适配系列教程
- java基础 多维数组_java基础:3.2 多维数组
- 为实验室部署Symantec Antivirus
- CAS服务下单点登录(服务端与客户端)
- tomcat调优方案
- Spark案例:Java版统计单词个数
- Python内存管理:垃圾回收
- 微信小程序云开发教程-微信小程序的JSON配置
- 《我的人生哲学:马云献给年轻人的12堂人生智慧课》读后感
- 计算机显示器使用的扫描方式,平板扫描仪怎么用 平板扫描仪使用方法【详解】...
- 大众-OBD-接口位置
- 【嵌入式模块】OLED显示屏模块
- 前端获取当前服务器时间,不使用客户端电脑时间
- android一键添加QQ群,关注微信公众号
- “图形驱动程序无法找到兼容的图形硬件”的处理方式
- 171230 编程-井字棋(逆)的先手必胜策略
- python进行数据处理_用python进行数据分析(二:数据处理)
- 获取手淘首页流量的方法 手淘流量的权重构成
- qtawesome的Icon Browser使用方法
- 历届国际足联世界足球先生