目录
1.写在前面
现在通过《Python 深度学习》这本书在学习Python人工智能,现在已经完成了第一部分一二章和第三章前三节的学习,准备开始实例演练
按照书中安装过程需如下:
- 安装 Python 科学套件(Numpy 和 SciPy),并确认安装了基础线性代数子程序(BLAS)库,这样模型才能在 CPU 上快速运行。
- 另外再安装两个软件包,HDF5(用于保存大型的神经网络文件)和 Graphviz(用于将神经网络架构可视化)。使用 Keras 时这两个软件包有用。
- 安装 CUDA 驱动程序和 cuDNN,确保 GPU 能够运行深度学习代码。
- 安装一个 Keras 后端:TensorFlow、CNTK 或 Theano。
- 安装 Keras。
安装软件软件时经历颇多坎坷,写下待后参考
电脑联想拯救者笔记本,i76700,8G,GeForce GTX 960M,128固态盘,1T机械盘
2.ubuntu安装
原win10系统工作要用,所以安装双系统,选择了ubuntu20.04,主要参考博文如下
2.1第一次安装
磁盘空间规划如下:
- "/boot"分区,500MB,固态盘
- "/"分区,20G,机械盘
- "/home"分区,34G,机械盘
- swap,内存8G的两倍,16G,机械盘.(博主建议用固态盘,事实证明软件算力高固态盘效果好)
后因CUDA 安装问题,出现问题如下:
- 多次安装CUDA,导致"/"分区爆满.(安装大构架,不能按照常用ubuntu分区规模,尽量多分)
- 按照其他教程重装显卡驱动,导致不能桌面运行ubuntu
只能重新安装ubuntu,如下节
2.2重新安装ubuntu
因为什么活都没开始干(因为下载的显卡、CUDA和TensorFlow安装包也没本事拷贝出来),所以不用备份资料。但是因为上次"/"分区爆满,所以需要磁盘重新分区
- 进入win10系统,打开磁盘管理
- 将第一次划分的分区全部右键选择‘删除卷‘,变为‘未分配’磁盘
- 右键上次分区的父体盘,选择‘扩展卷’,将未分配盘和入
- 现在可以开始重新分区
第二次分区如下
- "/boot"分区,1024MB,固态盘
- "/"分区,30G,机械盘
- "/home"分区,58G,机械盘
- 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下载慢,就用手机下载了复制到下载文件夹,各种安装不上去
最终通过歪打正着,尝试把文件之间拖入终端安装成功,过程如下:
- 用‘sudo su’命令终端进入root(第一次会认证失败,需用‘sudo password‘命令修改密码后再登入)
- 用‘cd ~‘进入底层目录(假设你不知道从那里进的终端),输入‘sudo ’
- 打开文件,打开下载的显卡安装包所在目录
- 单击显卡安装包不放拖入终端窗口,回车安装即可
安装完成后在终端输入 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 setRuntimeError: CUDA runtime implicit initialization on GPU:0 failed. Status: out of memory没有做CUDA 和 cuDNN版本匹配应该不能正常驱动GPU
按照TensorFlow官网链接:在 Windows 环境中从源代码构建 | TensorFlow
经过测试的构建配置
| 版本 | Python 版本 | 编译器 | 构建工具 | cuDNN | CUDA |
|---|---|---|---|---|---|
| tensorflow_gpu-2.6.0 | 3.6-3.9 | MSVC 2019 | Bazel 3.7.2 | 8.1 | 11.2 |
| tensorflow_gpu-2.5.0 | 3.6-3.9 | MSVC 2019 | Bazel 3.7.2 | 8.1 | 11.2 |
| tensorflow_gpu-2.4.0 | 3.6-3.8 | MSVC 2019 | Bazel 3.1.0 | 8.0 | 11.0 |
| tensorflow_gpu-2.3.0 | 3.5-3.8 | MSVC 2019 | Bazel 3.1.0 | 7.6 | 10.1 |
| tensorflow_gpu-2.2.0 | 3.5-3.8 | MSVC 2019 | Bazel 2.0.0 | 7.6 | 10.1 |
| tensorflow_gpu-2.1.0 | 3.5-3.7 | MSVC 2019 | Bazel 0.27.1-0.29.1 | 7.6 | 10.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