Ubuntu 18.04+win10 双系统安装+Tensorflow-gpu 2.0安装+使用技巧

UBUNTU 18.04 安装步骤(win10双系统, 双硬盘)

  1. BIOS下禁用安全启动和传统启动(SECURE BOOT OFF,EFEI ON)并将USB设为第一启动项
  2. WIN10下给SSD压缩出100G空间,不新建卷
  3. ULTRAISO刻录U盘,使用USB-HDD+方式
  4. 插盘开机开始安装
  5. 在GRUB界面按E,将quiet slash改成quiet slash nomodeset
  6. 进入试用版系统,在桌面上双击install开始安装
  7. 最小安装,其他选项,进入分区界面
  8. 分区方法使用方案1方案2
  9. 安装完成后关机拔U盘
  10. 在BIOS界面按F9进入BIOS自带的EFI启动项选择
  11. (可选)按F10进入BIOS设置并将UBUNTU设为第一启动项
  12. 进入GRUB,按E,将quiet slash改成quiet slash nomodeset
  13. 进入系统,按后面的步骤安装显卡驱动430版并加入环境变量
  14. 重新开机,系统可正常使用
  15. (可选)设置为清华源

UBUNTU 常用指令

deb安装包用法(dpkg语句用法)

  1. 在文件夹里按右键选择在终端中打开
  2. sudo dpkg -i xxx.deb 安装软件
  3. 如果安装时出现依赖问题错误,使用 sudo apt-get install -f
  4. sudo dpkg -l 查看已装软件列表
  5. sudo dpkg -r 软件名 卸载
  6. 尽量不要直接双击deb软件包安装

如何打开文本文件(gedit, vim)

sudo gedit ... 或者 sudo vim ...(vim需要安装,而且不易使用,不推荐)

如何获取ROOT权限

su root 并输入密码
不行就先执行sudo passwd改密码
注意 nvcc 语句需要在 ROOT 权限下才能使用

文件管理器如何获取usr文件夹的读写权限

sudo nautilus 

如何更新源

sudo apt update 
sudo apt upgrade

显卡驱动

禁用nouveau显卡驱动

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

在文件中加上blacklist nouveau

sudo update-initramfs -u

重启sudo reboot

lsmod | grep nouveau

无输出则成功

卸载NVIDIA驱动

sudo apt-get --purge remove nvidia*
sudo apt autoremove #会删除不用的软件包,有风险删到有用的东西!

查看NVIDIA版本/检验卸载是否完成/安装是否成功

nvidia-smi

安装NVIDIA驱动

通过PPA下载(最复杂的方法):

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers devices
sudo apt-get install nvidia-driver-430

或者直接一条指令自动下载(百度可查到)
安装完后记得添加环境变量(见后文)

CUDA, CUDNN(可不装)

PS:安不安装无所谓。如果用anaconda,会在建立新环境后下载tensorflow时自动下载对应版本的cuda和cudnn,在该环境下不需要系统本身自带cuda和cudnn!

下载链接

https://developer.nvidia.com/cuda-downloads
https://developer.nvidia.com/rdp/cudnn-archive

CUDA 安装

方法1

  1. chmod +x cuda_10.0.130_410.48_linux.run
  2. ./cuda_10.0.130_410.48_linux.run
    (或sudo sh cuda_10.1.243_418.87.00_linux.run

方法2

wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux
sudo chmod +x cuda_10.0.130_410.48_linux

如果Pycharm那边再运行python还是没成功,就先把cuda目录文件删除,这个文件其实是一个软链接,之后,再重建一个链接就好了
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-10.0/ /usr/local/cuda

CUDA 卸载

方法1

sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
sudo rm -rf /usr/local/cuda-8.0/

方法2
/usr.local/cuda10.1 目录下 bin 文件夹找到sudo ./cuda-uninstaller 按照提示即可执行卸载

方法3

cd /usr/local/cuda/bin
sudo ./cuda-uninstaller

残留文件删除

cd /usr/local/
dir

可能会看到一个"cuda"或者“cuda-10.1”文件夹,再或者两者都有,输入指令删除残留的文件夹

sudo rm -r cuda-10.1
sudo rm -r cuda

这样就卸载完了,就可以按照上面的方法重新安装 CUDA 10.0 了。

CUDNN 安装

sudo tar -xzvf cudnn-10.0-linux-x64-v7.6.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/

tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz 
cp cuda/lib64/* /usr/local/cuda-10.0/lib64/
cp cuda/include/* /usr/local/cuda-10.0/include/

查看CUDNN版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

CUDA,CUDNN 测试

  1. 查看版本信息(需要ROOT):nvcc -V
  2. 查看版本号(可能需要ROOT):
cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  1. 测试以下代码,PASS代表成功
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
make
./deviceQuery

Anaconda安装

  1. 从清华园下载最新版Anaconda x86_64的.sh文件
  2. 在文件目录下打开终端输入bash xxx.sh
  3. 安装时全选“是”,安装程序自动将anaconda加入环境变量
  4. 安装结束后打开sudo gedit ~/.bashrc检查是否添加了anaconda的环境变量,确认已添加则使用source ~/.bashrc命令更新环境变量
  5. 重启终端,输入python看看是否有Anaconda字样,python版本是否是最新版,若是则安装成功,且可以像在cmd一样在终端使用任意conda的指令

环境变量

环境变量的作用是可以不需要cd到指定目录,提前将目录加入环境变量中就可以执行相关命令,类似于MATLAB中的添加到路径。

环境变量文件:sudo gedit ~/.bashrc

每次新增环境变量必须使用source ~/.bashrc命令进行更新。

添加显卡驱动

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 

添加CUDA

以下两种方法优先使用第一种

export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
export PATH=/usr/local/cuda-10.0/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

更新环境变量

source ~/.bashrc

验证是否添加成功

echo $LD_LIBRARY_PATH

Pytorch, Tensorflow 测试

ipython
import torch
torch.cuda.is_available()
a=torch.tensor(1.)
a.device
a=a.cuda()
a.device
import tensorflow as tf
tf.test.is_gpu_available()

Tensorflow2.0测试代码:

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)

其他

  1. Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend)
  2. 清华园设置
  3. 降级GCC(需重启生效)
  4. dpkg安装卸载软件
  5. 亮度无法调节
  6. 安装搜狗输入法
  7. 声卡无声音
  8. Gparted磁盘扩容
  9. Gparted添加分区(需先在磁盘里准备一块未分配空间)
  10. 合上盖子不休眠(但可能会进入飞行模式)
  11. spyder不能输入中文
  12. 屏幕自动翻转90°

猜你喜欢

转载自blog.csdn.net/weixin_43713224/article/details/103730077