系统安装Nvidia显卡驱动 + cuda10.0 + cudnn + anaconda(python 3.6) + tensorflow2.0安装

显卡配置:GeForce RTX 2080 Ti
系统:18.04

1. 版本选择

https://www.tensorflow.org/install/source#common_installation_problems
https://blog.csdn.net/qq_27825451/article/details/89082978
Linux, GPU

Version Python version Compiler Build tools cuDNN CUDA
tensorflow-2.0.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1 7.4 10.0

2. ubuntu 系统安装

3. NVIDIA 驱动安装

3.1 禁用nouveau并重启

输入 lsmod | grep nouveau有输出,说明nouveau正在工作

sudo gedit /etc/modprobe.d/blacklist.conf
blacklist nouveau options 
nouveau modeset=0

重启, 输入 lsmod | grep nouveau无输出,正常,检验通过

3.2 辅助工作

sudo yum -y install gcc-c++ 
sudo apt-get update

3.3 下载 run 文件

选nvidia驱动版本

ubuntu-drivers devices

下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn

3.4 安装

安装驱动前联网,后续要安装一个包,可以更改一下源到清华源,速度快一些
通过Ctrl+Alt+F3进入终端
service lightdm stop
注意:此步要进行,因为会与nvidia 的驱动冲突,先关闭
sudo chmod +x NVIDIA-Linux-x86_64-430.26.run
sudo bash NVIDIA-Linux-x86_64-430.26.run –no-opengl-files –no-x-check
注意: 必须加参数*–no-opengl-files*,否则页面循环登录
过程中的参数选择参考:https://blog.csdn.net/wf19930209/article/details/95237824
sudo apt install lightdm
service lightdm start
关于 lightdm参考链接:(https://blog.csdn.net/chentianting/article/details/85089403)
回到主见面 ctrl + alt + f2

3.6 result

nvidia-smi

3.5 采坑记录

在我的系统中 直接采用 sudo apt-get install nvidia-settings nvidia-driver-430 nvidia-prime的方式会陷入开机界面循环登录的过程。
但是该方法在很多链接中有效,比如:https://blog.csdn.net/BigData_Mining/article/details/99670642
应该是看各自的电脑情形不同有不同的反应。

4. cuda 10.0安装

注意此处下载cuda10.0 而非10.1, cuda10.1 不兼容 tensorflow2.0
下载链接:
http://developer.nvidia.com/cuda-downloads

sudo sh cuda_XXX_linux.run

  • 安装过程

不安装 driver(原因步骤2已安装)

  • 通过bashrc添加环境变量,三部曲操作,打开,添加,生效
gedit ~/.bashrc
export CUDA_HOME=/usr/local/cuda 
export PATH=$PATH:$CUDA_HOME/bin 
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source ~/.bashrc
  • 检验cuda安装成功与否
cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make 
./deviceQuery

出现Result=Pass 安装成功

cuda10.1 卸载

sudo /usr/local/cuda-10.1/bin/cuda-uninstaller

同时按照三部曲,打开,添加,生效; 注释掉 cuda的PATH

#export PATH="/usr/local/cuda-10.0/bin:$PATH" 
 #export LD_LIBRARY_PATH="/usr/lcoal/cuda-10.0/lib64:$LD_LIBRARY_PATH"```

5.cudnn 安装

登录Nvidia账户,下载: https://developer.nvidia.com/rdp/cudnn-archive, 选择cuDNN library for linux版本

解压并进入文件夹 + 复制

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 

检验安装成功与否

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

从上到下以此7 6 1 表明版本7.6.1

6. ananconda python 3.6 安装

清华源镜像下载anaconda版本,注意版本对应,最新3-5.3.0对应着python3.7与tensorflow要求不符合,下载Anaconda3-5.2.0
下载以后安装, 注意为进一步使用Jupyter, Spyder本文安装链接在/usr/local/anaconda3
(参考链接:https://www.cnblogs.com/jisongxie/p/10053760.html)

sh Anaconda3-5.2.0-Linux-x86_64.sh

第二步修改安装路径

三部曲环境变量:

sudo gedit /etc/profile

文本末尾


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

source /etc/profile

关机重启有效,终端输入python有anaconda字样

anaconda 卸载

  • 删除目录
rm -rf  /usr/local/anaconda3

此处如果是安装到Home文件即

rm -rf  ~/anaconda3
  • 三部曲清理路径
    sudo gedit /etc/profile或者 sudo gedit ~/.bashrc
    注释掉与anaconda3相关的内容 #export PATH=/usr/local/anaconda3/bin:$PATH或 如链接https://blog.csdn.net/weixin_41528941/article/details/90903584
    生效source /etc/profilesource ~/.bashrc
    重开终端 or 开机重启 有效,输入Python无任何输出

7. tensorflow 2.0 安装

sudo pip install --upgrade pip
sudo pip install tensorflow-gpu==2.0.0-alpha0
  • t替代方法: 迅雷下载wheel文件再进行安装
https://pypi.tuna.tsinghua.edu.cn/packages/1a/66/32cffad095253219d53f6b6c2a436637bbe45ac4e7be0244557210dc3918/tensorflow_gpu-2.0.0a0-cp36-cp36m-manylinux1_x86_64.whl
sudo pip install tensorflow_gpu-2.0.0a0-cp36-cp36m-manylinux1_x86_64.whl

ceshi:
https://tensorflow.google.cn/tutorials/quickstart/beginner

from __future__ import absolute_import, division, print_function, unicode_literals

# Install TensorFlow

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=1)

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

发布了36 篇原创文章 · 获赞 0 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_38102912/article/details/103186468