【深度学习系列】全面指南:安装TensorFlow的CPU和GPU版本

本博客旨在为初学者提供一份全面的指南,介绍如何根据个人电脑的配置选择并安装适合的TensorFlow版本。内容涵盖了如何查看电脑显卡型号以确定是安装CPU还是GPU版本的TensorFlow,创建Python虚拟环境,以及使用conda命令查找可用的TensorFlow版本。同时,文章还提供了安装过程中可能遇到的问题及其解决方法,确保读者能够顺利完成安装过程,并开始他们的机器学习或深度学习项目。

目录

一、安装anaconda

二、tensorflow安装cpu版本和gpu版本的区别

三、确定本电脑tensorflow安装cpu版本还是GPU版本

(一)查看显卡型号的步骤

(二) 点击性能

(三) 找到GPU,查看其型号

 (四)查看显卡的计算能力

 四、Tensorflow与Python、CUDA、cuDNN的版本对应表

五、安装CPU版本的tensorflow 

(一)创建虚拟环境

(二)查看虚拟环境

(三) 进入/激活虚拟环境

(四) 安装cpu版本的tensorflow

(五) 在jupyter中添加虚拟环境tensorflow-2.10.0的内核

六、使用conda search命令来查看所有可用的TensorFlow版本

 七、安装GPU版本的tensorflow

八、可能出现的报错

报错一:

出现报错一的原因: 

报错一的解决方法(切换镜像源)

 报错二及解决方法:

报错三及解决方案:

 报错四及解决方案:

报错五及解决方案:

一、安装anaconda

Anaconda | The Operating System for AI

anaconda想必大家都很熟悉了,就不在这里过多陈述。

二、tensorflow安装cpu版本和gpu版本的区别

TensorFlow 的 CPU 版本适用于普通计算机,无需特殊硬件,适合轻量级任务和小规模数据处理。

而 GPU 版本则需要 NVIDIA GPU 及相关驱动支持,能显著提升计算速度,适合大规模数据集和复杂模型的训练。选择版本时,应考虑硬件条件和任务需求。

三、确定本电脑tensorflow安装cpu版本还是GPU版本

下边是我在网上找到的参考:

首先,查看自己电脑显卡的型号。如果显卡是NVIDIA系列的,继续下面步骤;如果显卡不是NVIDIA系列的,直接装CPU版。 

注意:显卡是NVIDIA系列的,同样可以安装cpu版本。

步骤如下:

(一)查看显卡型号的步骤

①在电脑菜单栏里输入“任务管理器”,然后打开

(二) 点击性能

(三) 找到GPU,查看其型号

发现本电脑GPU是NVIDIA系列系列中的Geforce RTX 2060

 (四)查看显卡的计算能力

在CUDA GPU | NVIDIA 开发者这个链接,点击自己显卡对应的系列,查看显卡计算能力(computer capability)。如下图,本电脑显卡是 NVIDIA系列系列中的Geforce RTX 2060,其对应的计算能力是7.5。(官方文档中写的75,不知道为啥没有加小数点),故可以安装GPU版本。

 四、Tensorflow与Python、CUDA、cuDNN的版本对应表

在 Windows 环境中从源代码构建  |  TensorFlow (google.cn)

Tensorflow与Python、CUDA、cuDNN的版本对应表_tensorflow版本对应-CSDN博客

五、安装CPU版本的tensorflow 

这里我选择安装tensorflow-2.10.0,对应的python版本是3.7-3.10

(一)创建虚拟环境

打开Anaconda的Prompt命令窗口,在进入Prompt后,默认的是你的base环境。(不明白这里也没事)

为了方便管理,我们在此创建一个新的虚拟环境,用来使用2.10.0版本的tensorflow

创建了一个新的conda环境,名为"tensorflow-2.10.0",并指定在这个环境中使用Python 3.9版本,代码命令如下:

conda create -n tensorflow-2.10.0 python=3.9

选择y 

这样就是创建虚拟环境成功了,下边我们再验证一下。

(二)查看虚拟环境

输入conda info -e 或者conda env list可以查看你当前conda中的环境。若创建成功,prompt中显示如下:

下图有四个虚拟环境,最左列是虚拟环境的名字,最右列是对应的位置。

第四个环境名称是tensorflow-2.10.0,就是我们刚刚创建的那个,说明创建成功了。

(三) 进入/激活虚拟环境

输入"conda activate 环境名" 可以进入新环境,如:

conda activate tensorflow-2.10.0

这样就从最开始的base环境切换到名称为 tensorflow-2.10.0虚拟环境下了。

(四) 安装cpu版本的tensorflow

conda install tensorflow==2.10.0

 如果没有报错的话九安装成功啦!

接下来可以使用pip list 或者conda list,查看一下我们本地安装好的包,如下:

发现有了2.10.0版本的tensorflow

接着我们进入python环境,输入下方两行代码,第一行代码作用是再python中导入tensorflow,没有报错就再次验证成功安装好tensorflow了。

第二行代码,是查看tensorflow的版本。

import tensorflow as tf
tf.__version__

 从下图结果中可以看出,tensorflow的版本正是2.10.0

(五) 在jupyter中添加虚拟环境tensorflow-2.10.0的内核

在tensorflow-2.10.0这个虚拟环境中,命令行输入conda install ipykernel安装ipykernel

安装完成后进入Jupyter Notebook,创建文件时可以发现有了tensorflow-2.10.0这个内核

同样,打开一个文件后,可以在kernel->change kernel下选择想要的内核。 

六、使用conda search命令来查看所有可用的TensorFlow版本

conda search tensorflow 命令查看的是当前镜像下的所有可用的TensorFlow版本

此命令将检索当前配置的镜像源中所有可获取的TensorFlow版本,这包括了不同版本号、适配不同环境(如CPU或GPU)的版本。使用者可以通过这个命令来查找适合自己需求的TensorFlow版本,从而进行安装。

conda search tensorflow

按下回车键后,你会看到一个包含TensorFlow不同版本及其对应途径的列表。

conda search tensorflow-gpu -c conda-forge

 如果你想查看特定类型的版本(如GPU版本),可以在搜索命令后加上-c conda-forge,因为GPU版本的TensorFlow通常在conda-forge库中提供。

 七、安装GPU版本的tensorflow

可以参照下方两个链接中的步骤进行安装gpu版本的tensorflow

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-CSDN博客

Tensorflow-gpu安装教程(详细)!!!_安装tensorflow-gpu-CSDN博客

我在网上看到许多评论提到,通过使用conda安装gpu版本的tensorflow,例如执行命令:conda install tensorflow-gpu==2.6.0,无需单独下载cuda和cudnn。然而,这种方法在我的尝试中并未成功。

同样,直接使用pip进行安装也未能成功,这是我参考的第二篇博客中提到的前两种方法。

因此,我决定接下来手动下载cuda和cudnn,并进行相应的配置以安装gpu版本的tensorflow。

待我最近有空时,会继续更新这一进程。

补充:

conda config --show能够显示出所有conda的config信息。

conda config --show channels只显示channels的信息

八、可能出现的报错

报错一:

出现报错一的原因: 

  1. 版本不兼容:Anaconda channels(镜像)可能不包含特定的2.15.0版本,特别是对于较旧的版本。

  2. 镜像源问题:尝试安装的特定版本可能在当前的镜像源中不可用。可以尝试更换其他可用的 Anaconda 或者 TensorFlow 的官方镜像源,或者更新到较新的版本。

报错一的解决方法(切换镜像源)

打开cmd切换到国内的其它镜像源

这里提供两个镜像源,分别是清华镜像、中科大镜像、,其它的小伙伴们可以在网上自行搜索

切换成清华镜像源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

切换成中科大镜像源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/

切换成阿里云像源

conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/

切换成华为云像源

conda config --add channels https://mirrors.huaweicloud.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.huaweicloud.com/anaconda/pkgs/main/

切换成上海交通大学像源

conda config --add channels https://mirrors.sjtug.org/anaconda/pkgs/free/
conda config --add channels https://mirrors.sjtug.org/anaconda/pkgs/main/

注意!如果切换镜像后还是出现下载不了的情况,就先切换回默认源,然后再修改另一个可以使用的conda源(一定要先恢复默认,再换另一个!!!)

切换回默认源

conda config --remove-key channels

​​

 报错二及解决方法:

这个错误提示表明你遇到了"429 Too Many Requests",即请求次数过多,导致服务器暂时无法处理你的请求。这通常是因为在短时间内发送了过多的安装请求。为了解决这个问题,你可以按照以下步骤操作:

  1. 等待一段时间

  2. 检查网络状况

  3. 更换镜像源

报错三及解决方案:

有时,在安装特定版本的TensorFlow后,尝试导入时可能会遇到与numpy版本冲突的错误。解决这种冲突通常需要升级或降级numpy版本以使其与TensorFlow兼容。然而,当你解决了TensorFlow和numpy之间的兼容性问题后,可能会发现numpy又与scipy不兼容。如果调整numpy版本以适配scipy,那么它与TensorFlow的兼容性问题又会再次出现。

在这种情况下,我们可以考虑使用与TensorFlow兼容的Python版本来解决兼容性问题。每个版本的TensorFlow都支持多个Python版本,例如,安装2.10.0版本的TensorFlow时,它可能与Python 3.7、3.8、3.9和3.10等版本兼容。如果我们选择的是Python 3.7版本,但遇到了兼容性问题,我们可以尝试使用其他版本的Python来解决这个问题。

 报错四及解决方案:

有一个问题那就是在某些情况下,设置好镜像源后仍不能下载,可能是因为镜像源没有相关资源而导致没有安装到正确版本,每个人情况不同,或多或少会出现这样的问题。那么就尝试换其它镜像源。

报错五及解决方案:

在尝试安装2.15.0版本的tensorflow时,我使用了conda进行安装,但遇到了各种问题。最常见的问题是在当前channel下找不到此版本,即使更换了channel也无法正常安装。后来,我考虑使用pip install进行安装,通过运行`pip install tensorflow==2.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple`成功安装了所需的版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/32607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA早鸟课程第二弹 | Vivado 设计静态时序分析和实际约束

在FPGA设计领域,时序约束和静态时序分析是提升系统性能和稳定性的关键。社区推出的「Vivado 设计静态时序分析和实际约束」课程,旨在帮助工程师们掌握先进的设计技术,优化设计流程,提高开发效率。 课程介绍 关于课程 权威认证&…

常用主流sip协议软电话客户端软件有哪些?—— 筑梦之路

Ekiga 官网地址:Ekiga ~ Free Your Speech Ekiga,原名GnomeMeeting,支持Windows和Linux,是一个兼容SIP和H.323的视频会议程序,兼容VoIP,IP电话,通过Ekiga可以与使用任何SIP和H.323软硬件的远程…

Windows和Linux系统上的Mamba_ssm环境配置

目录 一、Linux系统安装 二、Win系统安装 1)、安装causal_conv1d 1、第一种方法 2、第二种方法(感觉可靠) 3、第三种方法:直接下载大神编译好的文件进行安装 2)、安装mamba-ssm 1、第一种方法 2、第二种方法&…

【感悟】世界著名五大学习法

费曼学习法 把你学习的东西,讲给其他听,如果能讲清楚,就是学会了。 西蒙学习法 确定学习目标,拆分学习任务,六个月就可以精通任意领域。 SQ3R阅读法 浏览、提问、阅读、回忆、复习。 番茄学习法 规划学习和休息时间…

openjudge_2.5基本算法之搜索_8783:单词接龙

概要 8783:单词接龙 总时间限制: 1000ms 内存限制: 65536kB 描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中…

Vue.js 自定义组件的三种用法

1.创建项目 创建项目,你可以参考我以前的博文,这里省略了 项目的目录结构如下: 接着,我们在 src/components 目录下创建一个自定义的组件 SplashHello.vue,示例代码如下所示: <template><div><p>{{ title }}</p><p>{{ message }}</p&…

C++初学者指南第一步---13.聚合类型

C初学者指南第一步—13.聚合类型 文章目录 C初学者指南第一步---13.聚合类型1. 类型分类&#xff08;简化&#xff09;2. 如何定义和使用3. 为什么选择自定义类型/数据聚合&#xff1f;4. 聚合类型初始化5.混合6. 复制7. 值和引用的语义8.聚合的向量(std::vector)9.最令人烦恼的…

不使用ES,如何使用MySQL实现模糊匹配

1.业务场景 例如&#xff1a;我们实现一个公司的申请审批流程&#xff0c;整个业务流程涉及到两种角色&#xff0c;分别是商务角色与管理员角色&#xff0c;整个流程如下图所示&#xff1a; 核心流程总结为一句话&#xff1a;商务角色申请添加公司后由管理员进行审批。 商务在…

10.2 JavaEE——Spring MVC入门程序

要求在浏览器发起请求&#xff0c;由Spring MVC接收请求并响应&#xff0c;具体实现步骤如下。 一、创建项目 在IDEA中&#xff0c;创建一个名称为chapter10的Maven Web项目。 &#xff08;一&#xff09;手动设置webapp文件夹 1、单击IDEA工具栏中的File→“Project Structu…

干货 | 2024生成式AI产业落地路径研究报告(免费下载)

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 2024生成式AI产业落地路径研究报告 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 如需下载本方案PPT/WORD原格式&#xff0c;诚挚邀请您微信扫描以下二维码加入方案驿站知识星球&#xff0c;…

揭秘SpringBoot自动装配原理

目录 一、自动装配 二、SpringBoot核心注解 2.1 SpringBootApplication 2.2 Conditional*条件注解 三、spring.factories 文件 四、自动装配流程 一、自动装配 SpringBoot 自动装配是 SpringBoot 框架中一项核心特性&#xff0c;它极大地简化了 Spring 应用的开发过…

已解决ApplicationException异常的正确解决方法,亲测有效!!!

已解决ApplicationException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 分析错误日志 检查业务逻辑 验证输入数据 确认服务器端资源的可用性 增加对特殊业务情况的处理…

深入理解CSS中的文本对齐方式:水平对齐与垂直对齐

在CSS中&#xff0c;文本对齐是一个常见的需求&#xff0c;它关乎到页面布局的美观和可读性。本文将详细介绍CSS中用于控制文本水平对齐和垂直对齐的属性&#xff0c;以及如何使用它们来提高网页设计的质量。 水平对齐&#xff1a;text-align text-align 属性是CSS中用于控制…

html文本被木马病毒植入vbs脚本

我在公司服务器上写了一个静态html&#xff0c;方便导航&#xff0c;结果没过多久发现html文件被修改了&#xff0c;在</html>标签后加了这些代码。 注&#xff1a;WriteData 的内容很长&#xff0c;被我删掉了很多&#xff0c;不然没法提交这个提问 ​ <SCRIPT Lan…

程序猿大战Python——面向对象——继承进阶

方法重写 目标&#xff1a;掌握方法的重写。 当父类的同名方法达不到子类的要求&#xff0c;则可以在子类中对方法进行重写。语法&#xff1a; class 父类名(object):def 方法A(self):代码... class 子类名(父类名):def 方法A(self):代码... 例如&#xff0c;一起来完成&…

UEC++ 虚幻5第三人称射击游戏(一)

UEC 虚幻5第三人称射击游戏&#xff08;一&#xff09; 创建一个空白的C工程 人物角色基本移动 创建一个Character类添加一些虚幻商城中的基础动画 给角色类添加Camera与SPringArm组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "SpringArm")clas…

AG32 MCU Start Kit 开发板快速入门及 21天体验活动

AG32 IDE开发环境搭建-完整版 海振远科技 2024-6-18 AG32 MCU开发板的使用 使用准备 在使用开发板前&#xff0c;请确认已经安装好开发环境。 安装环境过程&#xff0c;请参考文档《AG32 开发环境搭建.pdf》 上电&#xff1a; 给开发板5V 供电&#xff0c;打开开关&#…

kaggle竞赛实战11——模型优化

特征优化结束后&#xff0c;使用分类预测客户是否是异常客户并对两类客户分别进行回归预测 为了方便更快速的调用三种不同的模型&#xff0c;并且同时要求能够完成分类和回归预测&#xff0c;此处通过定义一个函数来完成所有模型的训练过程。 def train_model(X, X_test, y, p…

极速下载,尽在Gopeed — 现代全能下载管理器

Gopeed&#xff1a;用Gopeed&#xff0c;让下载变得简单而高效。- 精选真开源&#xff0c;释放新价值。 概览 Gopeed是一个用Go语言编写的现代下载管理器&#xff0c;支持跨平台使用&#xff0c;包括Windows、macOS、Linux等。它不仅提供了基本的下载功能&#xff0c;还通过内…