Tensorflow亲妈级安装教程(CPU和GPU版)

目录

一.Tendorflow

二.Anaconda安装

三.Tensorflow安装

四.测试是否安装成功及GPU是否可用

五.降级


一.Tendorflow

上来先讲个笑话:献丑了(手动滑稽)

Tensorflow亲妈级安装教程(CPU和GPU版)插图

Tensorflow亲妈级安装教程(CPU和GPU版)插图1

二.Anaconda安装

参考下面这篇文章

安装anaconda的几个避坑点_深海鱼肝油ya的博客-CSDN博客

三.Tensorflow安装

参考文章如下:

tensorflow详细安装教程(Win10, Anaconda,Python3.9)_Yan_Yancy的博客-CSDN博客_tensorflow安装教程

环境搭建04——如何选择安装的TensorFlow版本?_命名无能的博客-CSDN博客_tensorflow哪个版本

CUDA、cuDNN、Pytorch、TensorFlow、Keras以及Python的对应版本总结_WaitFoF的博客-CSDN博客_cuda和python版本对应关系
 

TensorFlow安装教程_诸神缄默不语的博客-CSDN博客_tensorflow安装

那就记录一下过程吧,要装就装GPU版本的,还有CPU版本的?狗都不装!

首先得搞明白自己电脑的驱动版本,然后是python版本,还要确定一下自己想要安装的tensorflow版本,由想要安装的tensorflow版本来确定CUDA版本和cuDNN版本。

至于的关系可以看下面那篇文章

深度学习之CUDA与cuDNN_知更鸟k的博客-CSDN博客_cuda cudnn区别

我在开启这个系列的文章之前,重装了我的python环境,现在用的anaconda,其python解释器的版本是 3.9.13,然后查看一下自己的驱动版本,一般我们在电脑的右下角就可以到驱动的小图标,点一下,

Tensorflow亲妈级安装教程(CPU和GPU版)插图2Tensorflow亲妈级安装教程(CPU和GPU版)插图3

可以看到我的显卡的驱动是451.67,显卡是(GeForce 940MX),在官网上(参考上面几篇博客)可以查到我的显卡的算力是5.几(没记错的话),≥3.5即可安装GPU版本的,否则就去下CPU版本吧。

Tensorflow亲妈级安装教程(CPU和GPU版)插图4

点击右下角系统信息,会有详细信息

Tensorflow亲妈级安装教程(CPU和GPU版)插图5

然后咱们参考上面几篇文章可以知道,python3.9版本对应的tensorflow,CUDA,cuDNN的版本分别可以是哪些,经过查阅之后,发现又一件事,就是我本科的时候装过cuda,版本是10.0.130,这就难受了,因为我的显卡驱动版本装不了更高的,但是10.0和python3.9又不匹配,所以我就得去升级驱动,才能再升级CUDA(因为CUDA的版本也受显卡驱动版本的限制),再下载对应版本的cuDNN。

Tensorflow亲妈级安装教程(CPU和GPU版)插图6

现在的情况是这样的,我的python版本可以匹配到2.几版本的tensorflow,但是这样的话,我就得升一下驱动,然后重装一下cuda和cuDNN;另一种解决办法是直接把python降级,降成3.7的。至于使用哪种办法,明早再说!睡觉!

睡了一觉很舒服,就是前几天一直晚睡早起,这种状态得不到持续,昨天和今天都睡到八点多,还是要早睡早起呢,不说了,干活!

今天早起又向师哥请教了一下,直接在anaconda下创建按一个python3.7的环境就行了,用惯了原生的python解释器,anaconda的很多功能还是比较生,习惯习惯就好了,简单,省事,冲!

创建虚拟环境参考下面两篇文章:

anaconda创建一个新的虚拟环境_准时准点睡觉的博客-CSDN博客_anaconda创建虚拟环境

Anaconda创建虚拟环境_HDD615的博客-CSDN博客_anaconda创建虚拟环境

然后在此虚拟环境下安装指定版本的GPU版的tensorflow,参考下面的文章:

安装指定版本的tensorflow-gpu_Young__Fan的博客-CSDN博客

但是安装完成之后用jupyter notebook测试却又报如下错误:

No module named 'tensorflow'

 直接在命令行下测试报错如下:

TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

这时候就体现出英语好的重要性了,看第一条解决方案,把protobuf包降级到3.20.x或者更低。

降级就直接执行安装语句即可,如下:

pip install protobuf==3.20.0

然后再导入就没问题了啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈(舒服,又能开开心心的学习了)

四.测试是否安装成功及GPU是否可用

测试代码:

import tensorflow as tf

if __name__=="__main__":
    a = tf.constant(1.)
    b = tf.constant(2.)
    print(a + b)
    print(tf.__version__)
    print(tf.test.gpu_device_name())
    print(tf.test.is_gpu_available())

输出如下:

tf.Tensor(3.0, shape=(), dtype=float32)
2.0.0
/device:GPU:0
True

可以看到使用的GPU是0号GPU,打开任务管理器–>性能,而咱们要用这个性能高的1号GPU(可以在网上查到哪个性能好)

Tensorflow亲妈级安装教程(CPU和GPU版)插图7

然后我仔细看了一下程序的输出信息,发现好像设备0就是英伟达的显卡GT 940MX,md,那我白搞半天???焯!!!下面是我提取的是部分信息。可以看到就是我的独显940MX。

2022-10-30 18:53:02.754919: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: 
name: GeForce 940MX major: 5 minor: 0 memoryClockRate(GHz): 1.189

2022-10-30 18:53:02.755774: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0

name: GeForce 940MX major: 5 minor: 0 memoryClockRate(GHz): 1.189

2022-10-30 18:53:04.475985: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/device:GPU:0 with 1384 MB memory) -> physical GPU (device: 0, name: GeForce 940MX, pci bus id: 0000:01:00.0, compute capability: 5.0)

那就先不管了,后面等到跑项目的时候再说吧,现在跑跑吴老师课后的demo,效率上的差异看不大出来。

然后下来再解决一下jupyter notebook如何在虚拟环境下正常运行,之前导入tensorflow显示没有这个模块。

#查看anaconda中现在有哪些虚拟环境(base是最初的)
conda env list
#激活某个虚拟环境
conda activate 虚拟环境名

然后解决这个问题请看下面的这篇文章

Jupyter Notebook如何切换Anaconda虚拟环境_ㄣ知冷煖★的博客-CSDN博客_jupyter notebook 切换anaconda环境

配置好了之后在要运行的文件所在的目录下开启cmd,输入jupyter notebook即可,然后按照上面那篇文章里说的且换内核即可。so easy!

安装时如果需要设置清华源,也可以设置为临时用清华源,格式如下:

pip install package -i https://pypi.tuna.tsinghua.edu.cn/simple

五.降级

我学完机器学习之后,就开始了深度学习的课程,网上吴老师的深度学习课程可以搜到的免费资源是用的tf1.X版本的,所以我就把2.0.0降级到了1.15.0

方法和安装时一样:

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

安装时之前的安装2.0.0版本的tf及其相关包会自动检测并卸载。

标签