ubuntu14.04+cuda10.0+cudnnv7.4+caffe_2019.1.28安装记录

1.安装ubuntu注意事项:

这是在我安装完Ubuntu14.04的记录:

1. 版本选择:

刚开始安装的是16.04,最新是18.04,不必去装最新的东西,很多bug没有维护好的。

1.2 参考

第一次安装Ubuntu,按照网上的教程,看了很多篇,但是网上的教程层次不齐,有许多自己遇见的问题网上的博客却没有遇见,而且网上的博客有些都已经过时了。所以我在这里写下自己的一些感悟。

1.3 寻找资源

博客资源

找一篇还算新的博客。
可参考这三篇博客

Win10 + Ubuntu双系统U盘安装,详细过程(带图解)
win10下安装Ubuntu16.04双系统、配置深度学习主机与环境(TensorFlow+1080Ti)
Win10&Ubuntu双系统与显卡驱动安装

安装顺序

在win10 安装好后在安装Linux,不然会冲突。假设你的win10已经安装好,并且安装了一个Ubuntu的镜像文件

什么是镜像文件

1
就是以.iso结尾的,其实是个压缩包。

镜像网站上下载

可以在官网上下载,也可以在国内的镜像网站上下载,我是在清华的镜像网站上下载的,可以百度出来这个网站,然后找到Ubuntu release,其中有各个版本的Ubuntu,选择你想要的即可。

找到一个U盘空的,备份好随后会被格式化,注意要格式化为FAT32的。
下载UUI或者anyother将ISO写成开机驱动的软件。

分一个区出来,在win10中可以直接分区,压缩是将原来的某一个区抽出多少空间,扩展是将连续的两个分区合并。注意是连续的!如果两者之间有其他的,需要移动。

开始安装Ubuntu。

这里会出现一大堆问题。

Por1. 找不到U盘启动选项。

Por2. 在安装界面点击Install Ubuntu 后在Ubuntu界面卡住,下面5个点,红点始终填不满。

一个一个来solve

1. 对于Pro1.

  1. 在开机后,会有2s左右的时间进入你PC的BIOS界面,按F2,或其他键,这个在PC开机logo下的提示可见。
  2. 进入BIOS界面后,不同的主板有不同的UI,见到网上的截图和你不一样不要慌。找到boot启动界面。
  3. 选择使用UIE**(一个格式名称)打头的+“你的U盘名称”的启动选项。你还可以看到你win10的manager boot(win10应该是默认放在第一个)
  4. 将你的U盘拖到,或设置到第一个,就是你Windows的位置

2. 对于Pro2.

  1. 卡住后这是个大问题,千万别慌,网上有些东西全是乱写,什么和N卡冲突,什么要改这改那的,真是醉了。
    解决方案
    1.换个U盘,3.0的接口要。
    2.重做U盘,换个写入软件试试,比如你之前用的软碟通就换UUI….
    3.换版本,Ubuntu那么多版本我就换到14.04了
    4.将开机安全启动关闭。这里有些主板是清楚key然后自动disable的。所以你点击不了(灰的按钮).
    5.u盘要FAT32的格式。

如果你没有出现上面的问题,那么你很幸运。直接来到了Ubuntu的GUI。

1. 正式安装Ubuntu。

选择什么的网上还是很清楚的,注意的是不要选win10共存的那个选择,一定要选other其他选择!!!不然你win10就没了
分区的话,之前预留了多少空间就按多少来分。/home做DL的话200G—500G不等。

1.  注意的是swap选择的时候是在etx4那一项选择。

安装开始…

ps. 目前ubuntu 好像将/home分区和/分区视为同样的分区,所以只要保证/分区足够大,就不用担心空间不够用的问题了(仅个人见解)

2. 更新源

  1. 安装过程到某一步时会特别慢,这时更改你的更新设置,将源更新到国内的库中(主要有阿里云镜像,清华镜像等)。这样速度就会变快了。
  2. 配置镜像源是在软件更新中设置的。参照(ubuntu14.04-更换阿里云源这篇博客)

3. 安装完了ubuntu会发现分辨率无法调回来,这是开始调整分辨率

  1. 参考(Ubuntu 14.04安装Nvidia显卡驱动以及查看显卡驱动)这篇博客即可

4.分辨率调整好了这是开始下载cuda

  1. 官网下载。NVIDIA官网时不时抽风,下载速度很慢且易挂。本人使用手机4G网流量下载,可以解决速度问题。

务必先装cuda再看是否需要显卡驱动安装

因为cuda中自带显卡驱动,省的版本匹配问题

5. Cuda

1. 下载:

在Nvidia官网下载和配置一样的cuda,注意(有些CUda的版本是没有对应的ubuntu版本的,所以在安装Ubuntu时最好安装16.04这个版本,因为这个版本支持的最多) 注意Nvidia下载有时会很慢,试用手机流量下载或许会变快。

2.安装

  1. 安装cuda之前无需安装显卡驱动,在安装cuda中在安装,首先还需要下载你的显卡的驱动,最新的驱动。我下载的是410.93的驱动是个.run文件,这个根据你自己的显卡版本在它官网下载即可。有个网站是看驱动和cuda要求的版本是否匹配的网站,具体我忘记了,百度可搜到。

下载清单:

1.驱动.run
2.cuda你对应版本的

3. 行动:

  1. 关闭图形界面,此时你需要在另外电脑上看这份文件。
  2. 卸掉之前的驱动,书《深度学习实践》p20页上部分(这本书安装顺序是有问题的)
  3. 安装cuda.deb文件 sudo dpkg…apt.update
  4. 安装cuda中的sample, 并且编译 make —j32这里注意有两个—
  5. 运行 ./deviceQuery
  6. 正常情况下一般是会报错的。因为你驱动都没装啊。
  7. 错误提示:
    1. 驱动不匹配
    2. 它可能会提示你 nvcc 找不到,让你安装apt-get nvcctoolkit(不要安装)
  8. 安装驱动.run,都选yes
  9. 配置blacklist.conf 加上书《深度学习实践》p19页5行。+重启
  10. 配置环境变量参考(解决nvcc找不到的问题(Ubuntu14.04 CUDA 8.0)这篇博文)
    1. 如下:(cuda8.0要换为你下载的那个版本)
    2. 最近在linux上安装了CUDA 8.0,但是nvcc -V找不到命令。
    3. 然后在terminal中提示sudo apt-get install

Nvidia-Cuda-Toolkit安装:

我脑残的跟着执行命令后,nvcc命令可以正常执行,但是运行nvcc —version发现版本为5.5,与原来安装的CUDA 8.0不匹配,这将会导致一系列不兼容问题(比如在python中使用sk-cuda库就报错,因为nvcc版本不一致),遂通过如下步骤解决:

  1. 使用sudo apt-get autoremove nvidia-cuda-toolkit 卸载5.5版本
  2. 查看/usr/local/cuda/bin下是否有nvcc可执行程序,如果没有说明cuda没有正常安装,需要重新安装,如果有,进入下一步
  3. 添加环境变量,打开~/.bashrc ,添加环境变量export PATH=$PATH:/usr/local/cuda/bin export LD_LIBRARY_PATH=/usr/local/cuda-8.0/bin/lib64:$LD_LIBRARY_PATH
  4. 再在terminal中输入nvcc -V可以看到已经可以显示为8.0版本了+重启
  5. 此时两个报错基本解决了。且版本统一,再运行 ./deviceQuery(切换到该目录下)应该没有错误

3. Cudnn

  1. 下载对应版本的cudnn在NVIDIA官网上注册后,按照它的选项来下载。是一个liberay for linux文件。
  2. 按照官方提示安装那个deb。并且复制其头文件已经lib×的几个文件到cuda中,最后建立软连接(参考《手把手AI项目》二)
  3. 检验nvcc -V(V大写)

另外要注意的东西:

4. gcc版本更新:

  1. 至少4.8以上,最好5.0
  2. 参考(https://www.cnblogs.com/loadofleaf/p/5667989.html虽然网速较慢幸好gcc不大)

6. 若/目录磁盘不够:(参考ubuntu 16.04根目录磁盘空间扩容(亲测!!))

  1. 下载gparted
  2. 一u盘驱动试运行ubuntu
  3. 划分空间依次上移
  4. 应用于全OS。

7. 安装caffe(参考《手把手AI项目》二)注 opencv已经Python可以之后安装,暂时可以不管

  1. 配置caffe的两个文档
    1. Makefile.config
      1. USE_CUDNN := 1
  2. 修改 caffe 目录下的 Makefile 文件
    1. LIBRARIES += glog gflags protobuf boost_system boost_filesystem m(貌似不用修改。)
  3. NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
  4. CUDA architecture setting (这里它有注释提示,按提示删除即可)

注意

显卡驱动要装最新的,cuda要和驱动一样的版本,cudnn要和cuda对应。
环境变量有时只做了局部的,需要到一个文件中最后添加一行环境设置,可百度。