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

news2024/11/27 12:51:25

本博客旨在为初学者提供一份全面的指南,介绍如何根据个人电脑的配置选择并安装适合的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.coloradmin.cn/o/1851791.html

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

相关文章

34 - 指定日期的产品价格(高频 SQL 50 题基础版)

34 - 指定日期的产品价格 -- row_number(行号) 生成连续的序号,不考虑分数相同 -- 在2019-08-16之前改的价格,使用最近一期的日期,没有在2019-08-16之前改的价格,默认价格为10 select t.product_id, t.new_price as price from (s…

51单片机定时器中断配置

测试环境 单片机型号:STC8G1K08-38I-TSSOP20,其他型号请自行测试; IDE:Keil C51; 定时器配置及主要代码 以定时器T0为例,查看手册,有4种工作模式:模式0(16位自动重装载…

基于淘宝商城用户购物行为数据分析系统

摘 要 在电商行业高速发展的今天,用户购物行为数据量呈指数型增长,传统的数据处理架构已经无法满足于现如今的数据处理需求。针对于这样的需求本课题设计了一种基于淘宝的用户购物行为分析系统,旨在通过对大量数据进行分析处理进而深入研究用…

全国青少年人工智能创新挑战赛考试系统果然卡壳了

本比赛的官网地址是:http://aiic.china61.org.cn/niWXB 昨天考的全国青少年人工智能创新挑战赛的图形化编程卡的没有答题区,有的是空白,有的是组卷,大家先熟悉题目,构思怎么编程,两道编程题5050分值&#…

对兼容各操作系统的Anki选择题模板的更新——提供更方便的笔记修改功能

2021年当我想做一个兼容各操作系统的Anki选择题模板的时候,到处搜索茧中网,根本找不到相关内容,直到偶然在github上看到Simon Lammer的Anki持久化模块,才算真正实现。现在再在茧中网上搜索兼容各种操作系统的Anki选择题模板&#…

剖析 Kafka 消息丢失的原因

文章目录 前言一、生产者导致消息丢失的场景场景1:消息体太大解决方案 :1、减少生产者发送消息体体积2、调整参数max.request.size 场景2:异步发送机制解决方案 :1、使用带回调函数的发送方法 场景3:网络问题和配置不当…

FineReport报表案例

普通报表 保存的文件类型为 cpt,依靠着单元格的扩展与父子格的关系来实现模板效果,可进行参数查询,填报报表,图表设计等等,但是在分页预览模式下不能在报表主体中展示控件,而且单元格间相互影响&#xff0c…

IDEA快速入门02-快速入门

二、快速入门 2.1 打开IDEA,点击New一个项目 入口,依次打开 File -> New -> Project。 2.2 使用Spring Initializr方式构建Spring Boot项目 2.3 设置项目所属组、项目名称、java版本等 2.4 选择SpringBoot版本及依赖组件 点击Create进行创建。 2.6 创建成…

【第一性原理】邓巴数字

这里写自定义目录标题 什么是邓巴数字邓巴数背后的科学历史上各个组织的人数与邓巴数字的关系在人类进化中的意义现代社会中邓巴数字的体现邓巴数字的意义其他与沟通相关的数据注意事项结论参考 罗宾邓巴教授生于1947年,进化心理学家,牛津大学教授&#…

一种微弱故障特征增强的旋转机械故障诊断方法(MATLAB)

导致轴承失效的根本原因是由异常磨损和局部间的机械冲击所导致的。对轴箱轴承日常运转的下所产生的均匀磨损而言,其振动信号特征与正常轴承振动信号大致一样,随机性较强,其概率密度函数呈现出高斯分布的现象,但由于磨损所导致的不…

C语言程序设计-2 程序的灵魂—算法

【例 2.1】求 12345。 最原始方法: 步骤 1:先求 12,得到结果 2。 步骤 2:将步骤 1 得到的乘积 2 乘以 3,得到结果 6。 步骤 3:将 6 再乘以 4,得 24。 步骤 4:将 24 再乘以 5&#xf…

Python自动化(2)——键盘模拟

Python自动化(2)——键盘模拟 前台键盘模拟 前台键盘模拟和后台键盘模拟的区别在于,是否绑定窗口。即前台模拟是只模拟键盘操作,例如按下按键a,如果聚焦在一个文本文档的编辑区,那么就会把这个a输入进去。但如果是聚焦到了浏览器…

测试辅助工具(抓包工具)的使用1 之初识抓包工具(fiddler)

1.什么是抓包? 说明:客户端向服务器发送请求以及服务器响应客户端的请求,都是以数据包来传递的。 抓包(packet capture):通过工具拦截客户端与服务器交互的数据包。 抓包后可以修改数据包的内容 2.为什么要抓包&…

【洛谷P3366】【模板】最小生成树 解题报告

洛谷P3366 -【模板】最小生成树 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出 orz。 输入格式 第一行包含两个整数 N , M N,M N,M,表示该图共有 N N N 个结点和 M M M 条无向边。 接下…

解决js打开新页面百度网盘显示不存在方法:啊哦,你所访问的页面不存在了。

用js打开新页面open或window.location.href打开百度网盘后都显示:啊哦,你所访问的页面不存在了。 window.open(baidu_url); window.location.href baidu_url;在浏览器上,回车后网盘资源是可以打开的,刷新也是打开的。这是很奇怪…

IPv6知识点整理

IPv6:是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 。 国…

OkHttp框架源码深度剖析【Android热门框架分析第一弹】

OkHttp介绍 OkHttp是当下Android使用最频繁的网络请求框架,由Square公司开源。Google在Android4.4以后开始将源码中的HttpURLConnection底层实现替换为OKHttp,同时现在流行的Retrofit框架底层同样是使用OKHttp的。 源码传送门 优点: 支持Http1、Http…

初学者的TensorFlow 2.0 开发环境安装 -《MCU嵌入式AI开发笔记》(第七集)

MCU嵌入式AI开发笔记 初学者的TensorFlow 2.0 开发环境安装 -《MCU嵌入式AI开发笔记》(第七集)。抖音、B站、视频号等站点搜索柔贝特三哥,《MCU嵌入式AI开发笔记》视频同步更新,视频详细讲解。 07 初学者的 TensorFlow 2.0 教程 …

【tomcat】tomcat系统架构以及核心启动流程

对于web后端开发工程师来说,tomcat作为一个应用服务器框架本质上就是一个HTTP服务Servlet容器。研究过spring、spring mvc源码的同学应该了解,spring mvc其实就是基于Servlet规范实现的请求的转发路由、转发处理。而Spring和SpringMVC就是通过web.xml文件…

DINO-DETR

DINO-DETR DETR收敛慢的问题1. Contrastive DeNoising Training(对比方法降噪训练)2. Mixed Query Selection(混合查询选择方法对锚点进行初始化)3. Look Forward Twice(两次前向方法)==DINO模型的传播过程,以及部分模块的改进==DETR收敛慢的问题 PnP-DETR(ICCV 2021) 改进了…