《Python 深度学习》-弗朗索瓦 肖莱-(一)双系统ubuntu及TensorFlow系统安装

目录

1.写在前面

2.ubuntu安装

2.1第一次安装

2.2重新安装ubuntu

 3 CUDA 和 cuDNN安装

3.1失败的安装(希望遇见同样问题能参考)

3.2 通过Anaconda安装TensorFlow


1.写在前面

现在通过《Python 深度学习》这本书在学习Python人工智能,现在已经完成了第一部分一二章和第三章前三节的学习,准备开始实例演练

按照书中安装过程需如下:

  1.  安装 Python 科学套件(Numpy 和 SciPy),并确认安装了基础线性代数子程序(BLAS)库,这样模型才能在 CPU 上快速运行。
  2.  另外再安装两个软件包,HDF5(用于保存大型的神经网络文件)和 Graphviz(用于将神经网络架构可视化)。使用 Keras 时这两个软件包有用。
  3.  安装 CUDA 驱动程序和 cuDNN,确保 GPU 能够运行深度学习代码。
  4.  安装一个 Keras 后端:TensorFlow、CNTK 或 Theano。
  5.  安装 Keras。

安装软件软件时经历颇多坎坷,写下待后参考

电脑联想拯救者笔记本,i76700,8G,GeForce GTX 960M,128固态盘,1T机械盘

2.ubuntu安装

原win10系统工作要用,所以安装双系统,选择了ubuntu20.04,主要参考博文如下

Win10加Ubuntu20.04双系统安装教程_气派飞鹰的博客-CSDN博客_ubuntu win10双系统安装步骤软件准备制作U盘启动盘windows下硬盘分区进入BIOS系统进行硬盘安装软件准备本文编辑日期是2020.8.4,此时最新版的Ubuntu系统版本为20.04。下载Ubuntu系统: Ubuntu下载中文站下载U盘启动盘制作软件: 百度网盘提取码:uhrmEasyBCD(开机启动选择系统): 百度网盘提取码:mxg2制作U盘启动盘准备一个4G以上的U盘做启动盘即可,制作系统盘时会将u盘格式化,注意将u盘内的文件做个备份。Ubuntu系统下载好后是一个.iso文件,如图打开UIhttps://blog.csdn.net/qq_45488453/article/details/107783752?spm=1001.2014.3001.5506

2.1第一次安装

磁盘空间规划如下:

  1. "/boot"分区,500MB,固态盘
  2. "/"分区,20G,机械盘
  3. "/home"分区,34G,机械盘
  4. swap,内存8G的两倍,16G,机械盘.(博主建议用固态盘,事实证明软件算力高固态盘效果好)

 后因CUDA 安装问题,出现问题如下:

  1.  多次安装CUDA,导致"/"分区爆满.(安装大构架,不能按照常用ubuntu分区规模,尽量多分)
  2. 按照其他教程重装显卡驱动,导致不能桌面运行ubuntu

 只能重新安装ubuntu,如下节

2.2重新安装ubuntu

因为什么活都没开始干(因为下载的显卡、CUDA和TensorFlow安装包也没本事拷贝出来),所以不用备份资料。但是因为上次"/"分区爆满,所以需要磁盘重新分区

  1. 进入win10系统,打开磁盘管理
  2. 将第一次划分的分区全部右键选择‘删除卷‘,变为‘未分配’磁盘
  3. 右键上次分区的父体盘,选择‘扩展卷’,将未分配盘和入
  4. 现在可以开始重新分区

第二次分区如下

  1. "/boot"分区,1024MB,固态盘
  2. "/"分区,30G,机械盘
  3. "/home"分区,58G,机械盘
  4. swap,内存8G的两倍,16G,机械盘.(博主建议用固态盘,事实证明我还是不敢不以工作为重)

 3 CUDA 和 cuDNN安装

按照书中安装附件后开始安装CUDA

3.1失败的安装(希望遇见同样问题能参考)

首先按照书中如下代码,证明是下载不下来的,因为文件太大,下载成功率我多次寻找没有发现

$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

后来通过Nvidia官网下载11.2版本,多次安装未果,并且删掉了显卡驱动

因为过程中在终端输入  nvidia-smi,发现没有显示如下图:

需要重新安装显卡驱动,ubuntu下载慢,就用手机下载了复制到下载文件夹,各种安装不上去

最终通过歪打正着,尝试把文件之间拖入终端安装成功,过程如下:

  1. ‘sudo su’命令终端进入root(第一次会认证失败,需用‘sudo password‘命令修改密码后再登入)
  2. ‘cd ~‘进入底层目录(假设你不知道从那里进的终端),输入‘sudo ’
  3. 打开文件,打开下载的显卡安装包所在目录
  4. 单击显卡安装包不放拖入终端窗口,回车安装即可

安装完成后在终端输入  nvidia-smi,显示了上图的显卡信息

第二天开机,系统黑屏,搜索后发现是因为显卡问题,因为安装CUDA和显卡驱动时终端多次提醒磁盘空间紧张,认为磁盘空间确实过小,不想修复系统,所以决定重装ubuntu系统(参见2.2节)

安好系统后,再安装CUDA 和 cuDNN,过程比较戏剧化,见下节

3.2 通过Anaconda安装TensorFlow

作者推荐Mac用户通过Anaconda安装Python 科学套件,网上教程很多是先安装 Anaconda,再通过Anaconda安装TensorFlow、CUDA 和 cuDNN

所以决定先安装Anaconda,参考以下博文

Ubuntu20.04安装与使用TensorFlow最新版_NiuXL的编程技术网络日志-CSDN博客

重要的过程是下载合适版本的Anaconda,可以到清华镜像站下载,官网链接:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

也可以使用 wget 或者 axel 先下载到本地:

$ axel https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh

下载后在文件目录下执行脚本安装Anaconda

$ ./Anaconda3-2020.07-Linux-x86_64.sh

用Anaconda安装TensorFlow时默认使用国外的镜像源,安装了几次我没有下载成功过

按照博主推荐更换为国内的镜像源,如更换为 中科大镜像源:

$ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main

添加后更新conda:

~$ conda update -n base -c defaults conda

   

创建并进入虚拟环境,离开虚拟环境使用 conda deactivate 命令:

:~$ conda create -n venv python=3.8
:~$ conda activate venv
(venv) **:~$ conda deactivate

安装 TensorFlow GPU 最新版本,指定版本时不能正常安装

(venv)**:~$ conda install tensorflow-gpu

为了检查安装的 TensorFlow 是否是 GPU 版本,需要安装 jupyter notebook 写程序测试:

~$ conda install jupyter notebook
~$ jupyter notebook

 ————————————————
版权声明:本文参考CSDN博主「NiuXL1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Thanlon/article/details/107100520

安装TensorFlow 后发现以及安装了CUDA 和 cuDNN包,尝试运行了书中程序出现过以下两种错误

2022-01-06 14:38:00.084353: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
RuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: out of memory

没有做CUDA 和 cuDNN版本匹配应该不能正常驱动GPU

按照TensorFlow官网链接:在 Windows 环境中从源代码构建  |  TensorFlow

经过测试的构建配置

版本Python 版本编译器构建工具cuDNNCUDA
tensorflow_gpu-2.6.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.5.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.4.03.6-3.8MSVC 2019Bazel 3.1.08.011.0
tensorflow_gpu-2.3.03.5-3.8MSVC 2019Bazel 3.1.07.610.1
tensorflow_gpu-2.2.03.5-3.8MSVC 2019Bazel 2.0.07.610.1
tensorflow_gpu-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.17.610.1

 用以下代码查询TensorFlow版本号,查询结果为2.4.1

import tensorflow as tf
tf.__version__

查询python、CUDA和cuDNN版本

conda list

表中python版本为3.9,CUDA版本10.1,cuDNN版本7.6,对应TensorFlow版本为2.3.0,python版本为3.8

通过Anaconda先对python降低版本为3.8

conda install python=3.8

 在对TensorFlow降低版本为2.3.0

pip install tensorflow-gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

运行还是不行,比对N卡官网配置,960M(算力5.0)可以支持CUDA V10.1和cuDNN V7.6,问题在虽然CUDA和cuDNN版本正确,但tensorflow 2.3不支持算力5.2以下的显卡,960M的算力为5.0,在对TensorFlow降低版本为2.2.0

pip install tensorflow-gpu==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

经过测试TensorFlow系统以及搭建好

书中例子是基于 Keras的,所以需要安装 Keras,以下代码可完成安装

$ sudo pip install keras


版权声明:本文为qq_41766671原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。