目录

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 版本 编译器 构建工具 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

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

  1. deep learning with Python(弗朗索瓦·肖莱) 笔记(一)

    第一部分: 深度学习基础 第一章:什么是深度学习? 本章介绍了基本的AI和机器学习以及深度学习的区别和关系,以及他们的大概发展,还有未来趋势. 主要点: 本书最主要想表达的思想就是:我们需要从能够从噪 ...

  2. 【基础系列】赏析Keras之父弗朗索瓦·肖莱《Python深度学习》ch1什么是深度学习

  3. deep learning with Python(弗朗索瓦·肖莱) 笔记(二)

    第二章:神经网络的数学基础 使用keras进行MNIST手写体进行分类: 1.加载数据集: from keras.datasets import mnist (train_images,train_l ...

  4. 弗里德里克·弗朗索瓦·肖邦

    弗里德里克·弗朗索瓦·肖邦(Fryderyk Franciszek Chopin,1810年-1849年),19世纪波兰作曲家.钢琴家.![在这里插入图片描述](https://img-blog.cs ...

  5. 你好,弗朗索瓦丝·萨冈

    "世界上只有两种东西最出名,新小说和萨冈.萨冈是个作家,是法国的通俗小说家,世界上所有的国家都翻译了她的作品.""新小说"派的掌门人罗伯-格里耶如是说.格里耶肯 ...

  6. python参考手册 豆瓣_python之父亲自撰写两年后豆瓣评分9.8《python深度学习》PDF分享...

    <python深度学习>本书由Keras之父.现任Google人: 工智能研究员的弗朗索瓦.肖莱(Francois Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的 ...

  7. 备受期待的Python深度学习来了

    在这个酣畅淋漓的暑假结束后,深度学习的四大名著之一漂洋过海来见中国的程序员们啦,豆瓣评分9.5分的<Deep Learning with Python>,推出中译版--<Python ...

  8. 《python深度学习》代码中文注释

    <python深度学习>由Keras之父.现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实 ...

  9. 【人工智能】《Python深度学习》

    本书由Keras之父.现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,涉及计算机视觉.自然语言处理. ...

最新文章

  1. 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
  2. Oracle 中利用一个表结构拷贝成另外的表
  3. ftl保存成html中文是乱码,解决freemarker生成静态页面时乱码问题
  4. dos命令for用法详解
  5. 14 Java NIO vs IO-翻译
  6. SEED实验系列:缓冲区溢出漏洞试验
  7. GM6 pageset - Cache get scenario /ui2/cl_pfcg_utils
  8. java中实现线程互斥的关键词_简单的互斥同步方式——synchronized关键字详解
  9. linux 升级g++ [错误:unrecognized command line option “-std=c++11”]
  10. Docker CPU 资源限制——CPU分片功能测试
  11. 2016年 企业IT管理员需要做好这些准备
  12. LINUX FFMPEG编译汇总(中等,只编译必要的部分)
  13. [Publish AAR To Maven] 使用 Gradle 发布 AAR 到 Maven 仓库
  14. 国内开源镜像站地址汇总
  15. Jenkins配置从节点问题:ssh slave known_hosts [SSH]与Slave JVM has terminated. Exit code=126
  16. 布隆过滤器学习笔记——《Learned Bloom Filters in Adversarial Environments:A Malicious URL Detection Use-Case》
  17. html、css实现导航栏5种常用效果
  18. IDEA中的TODO使用和Debug史诗级详细使用说明
  19. android画了一个笑脸
  20. 《肖申克的救赎》观后

热门文章

  1. YOLOv5首发改进最新CVPR2023主干FasterNet系列:实测私有数据集mAP有效涨点,同时降低参数量|为更快的神经网络追求更高的 FLOPS,参数量下降,超越其他轻量化模型
  2. 进一步理解平衡二叉树(插入)
  3. Beyond Compare 4 Linux安装和使用
  4. [讯商科技】15年选型经验丨服装行业erp选型原则
  5. 清北毕业生2019就业去向:北大从政人数多,清华企业比例大,华为成最大赢家...
  6. 数字验证码的识别(一)
  7. 饮料换购/模拟/思考思维机灵点!
  8. linux文件系统是ntfs吗,Linux下如何使用NTFS文件系统
  9. css hover控制同级 上级 子级
  10. 电脑开始关机待机重启出现计算机,电脑关机后进入待机状态如何解决 电脑关机后自动开机怎么回事...