《Python 深度学习》-弗朗索瓦 肖莱-(一)双系统ubuntu及TensorFlow系统安装
目录
1.写在前面
2.ubuntu安装
2.1第一次安装
2.2重新安装ubuntu
3 CUDA 和 cuDNN安装
3.1失败的安装(希望遇见同样问题能参考)
3.2 通过Anaconda安装TensorFlow
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,主要参考博文如下
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第一次安装
磁盘空间规划如下:
- "/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 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系统安装相关推荐
- deep learning with Python(弗朗索瓦·肖莱) 笔记(一)
第一部分: 深度学习基础 第一章:什么是深度学习? 本章介绍了基本的AI和机器学习以及深度学习的区别和关系,以及他们的大概发展,还有未来趋势. 主要点: 本书最主要想表达的思想就是:我们需要从能够从噪 ...
- 【基础系列】赏析Keras之父弗朗索瓦·肖莱《Python深度学习》ch1什么是深度学习
- deep learning with Python(弗朗索瓦·肖莱) 笔记(二)
第二章:神经网络的数学基础 使用keras进行MNIST手写体进行分类: 1.加载数据集: from keras.datasets import mnist (train_images,train_l ...
- 弗里德里克·弗朗索瓦·肖邦
弗里德里克·弗朗索瓦·肖邦(Fryderyk Franciszek Chopin,1810年-1849年),19世纪波兰作曲家.钢琴家.![在这里插入图片描述](https://img-blog.cs ...
- 你好,弗朗索瓦丝·萨冈
"世界上只有两种东西最出名,新小说和萨冈.萨冈是个作家,是法国的通俗小说家,世界上所有的国家都翻译了她的作品.""新小说"派的掌门人罗伯-格里耶如是说.格里耶肯 ...
- python参考手册 豆瓣_python之父亲自撰写两年后豆瓣评分9.8《python深度学习》PDF分享...
<python深度学习>本书由Keras之父.现任Google人: 工智能研究员的弗朗索瓦.肖莱(Francois Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的 ...
- 备受期待的Python深度学习来了
在这个酣畅淋漓的暑假结束后,深度学习的四大名著之一漂洋过海来见中国的程序员们啦,豆瓣评分9.5分的<Deep Learning with Python>,推出中译版--<Python ...
- 《python深度学习》代码中文注释
<python深度学习>由Keras之父.现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实 ...
- 【人工智能】《Python深度学习》
本书由Keras之父.现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,涉及计算机视觉.自然语言处理. ...
最新文章
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
- Oracle 中利用一个表结构拷贝成另外的表
- ftl保存成html中文是乱码,解决freemarker生成静态页面时乱码问题
- dos命令for用法详解
- 14 Java NIO vs IO-翻译
- SEED实验系列:缓冲区溢出漏洞试验
- GM6 pageset - Cache get scenario /ui2/cl_pfcg_utils
- java中实现线程互斥的关键词_简单的互斥同步方式——synchronized关键字详解
- linux 升级g++ [错误:unrecognized command line option “-std=c++11”]
- Docker CPU 资源限制——CPU分片功能测试
- 2016年 企业IT管理员需要做好这些准备
- LINUX FFMPEG编译汇总(中等,只编译必要的部分)
- [Publish AAR To Maven] 使用 Gradle 发布 AAR 到 Maven 仓库
- 国内开源镜像站地址汇总
- Jenkins配置从节点问题:ssh slave known_hosts [SSH]与Slave JVM has terminated. Exit code=126
- 布隆过滤器学习笔记——《Learned Bloom Filters in Adversarial Environments:A Malicious URL Detection Use-Case》
- html、css实现导航栏5种常用效果
- IDEA中的TODO使用和Debug史诗级详细使用说明
- android画了一个笑脸
- 《肖申克的救赎》观后
热门文章
- YOLOv5首发改进最新CVPR2023主干FasterNet系列:实测私有数据集mAP有效涨点,同时降低参数量|为更快的神经网络追求更高的 FLOPS,参数量下降,超越其他轻量化模型
- 进一步理解平衡二叉树(插入)
- Beyond Compare 4 Linux安装和使用
- [讯商科技】15年选型经验丨服装行业erp选型原则
- 清北毕业生2019就业去向:北大从政人数多,清华企业比例大,华为成最大赢家...
- 数字验证码的识别(一)
- 饮料换购/模拟/思考思维机灵点!
- linux文件系统是ntfs吗,Linux下如何使用NTFS文件系统
- css hover控制同级 上级 子级
- 电脑开始关机待机重启出现计算机,电脑关机后进入待机状态如何解决 电脑关机后自动开机怎么回事...