码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Tensorflow亲妈级安装教程(CPU和GPU版)


    目录

    一.Tendorflow

    二.Anaconda安装

    三.Tensorflow安装

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

    五.降级


    一.Tendorflow

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

    二.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,然后查看一下自己的驱动版本,一般我们在电脑的右下角就可以到驱动的小图标,点一下,

    ​​

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

    ​

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

    ​

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

    ​

    现在的情况是这样的,我的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'

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

    1. TypeError: Descriptors cannot not be created directly.
    2. 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.
    3. If you cannot immediately regenerate your protos, some other possible workarounds are:
    4. 1. Downgrade the protobuf package to 3.20.x or lower.
    5. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
    6. 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是否可用

    测试代码:

    1. import tensorflow as tf
    2. if __name__=="__main__":
    3. a = tf.constant(1.)
    4. b = tf.constant(2.)
    5. print(a + b)
    6. print(tf.__version__)
    7. print(tf.test.gpu_device_name())
    8. print(tf.test.is_gpu_available())

    输出如下:

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

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

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

    1. 2022-10-30 18:53:02.754919: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
    2. name: GeForce 940MX major: 5 minor: 0 memoryClockRate(GHz): 1.189
    3. 2022-10-30 18:53:02.755774: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
    4. name: GeForce 940MX major: 5 minor: 0 memoryClockRate(GHz): 1.189
    5. 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显示没有这个模块。

    1. #查看anaconda中现在有哪些虚拟环境(base是最初的)
    2. conda env list
    3. #激活某个虚拟环境
    4. 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及其相关包会自动检测并卸载。

  • 相关阅读:
    提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇)
    【二十四】springboot使用EasyExcel和线程池实现多线程导入Excel数据
    如何用在线模版快速制作活动海报?
    linux下nvidia驱动安装-ubuntu22.04安装2060-notebook驱动
    Shape Completion Enabled Robotic Grasping
    C# VisionPro二次开发在加载VPP时报错解决方法
    Django 模板语法-传值、取值
    品质为先,服务不停,广州流辰信息公司恪守初心,匠心为民!
    【Java】ReentrantLock源码分析
    软件开发模型
  • 原文地址:https://blog.csdn.net/weixin_44593822/article/details/127596618
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号