TensorFlow-GPU版本安装

前言:

        (1)因项目需求,需要安装TensorFlow-GPU版本,故本文在此记录安装过程。

        (2)有注释,优先看注释

        (3)本文所使用的GPU为NVIDIA GeForce RTX 5080 Laptop GPU, 16303MiB

        (4)本文安装的TensorFlow为2.10

1、搜索TensorFlow,并进入官网

        官网链接:关于TensorFlow | TensorFlow中文官网

2、进入官网,切换语言,切换到English

3、install->pip依次点击,进入到官方安装教程

 4、在3、所在页面往下滑,直到Step-by-step instructions

        Step-by-step instructions以下为TensorFlow的详细安装步骤,按照它的步骤来

step1:创造一个conda环境

conda create --name tf python=3.9

step2:激活conda环境

conda deactivate

step3:在conda环境中安装CUDA、cuDNN

conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0

        注:CUDA、cuDNN的版本需自己确认,一定是要等于或高于才可以。否则无法按照它的教程安装TensorFlow-GPU版本

step4:升级pip 安装,确保运行的是最新版本

pip install --upgrade pip

step5:安装TensorFlow

pip install "tensorflow<2.11" 

       (官方提醒) 注:不要用conda安装TensorFlow。它可能没有最新的稳定版本 的版本。推荐使用pip,因为TensorFlow仅正式发布 PyPI。

step6:验证安装

(1)验证CPU设置:

python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

运行效果如下:

(E:\miniconda\tf) PS C:\Users\MR_YANG> python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))" 2025-08-27 10:00:01.885219: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2027] TensorFlow was not built with CUDA kernel binaries compatible with compute capability 12.0. CUDA kernels will be jit-compiled from PTX, which could take 30 minutes or longer. 2025-08-27 10:00:01.891753: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2025-08-27 10:00:01.895637: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2027] TensorFlow was not built with CUDA kernel binaries compatible with compute capability 12.0. CUDA kernels will be jit-compiled from PTX, which could take 30 minutes or longer.(E:\miniconda\tf) PS C:\Users\MR_YANG> python -c "import tensorflow as tf;打印(tf.reduce_sum (tf.random。正常([1000,1000]))" 2015-08-27 10:00:01.885219:W tensorflow/core/common_runtime/gpu/gpu_device。TensorFlow没有使用与compute capability 12.0兼容的CUDA内核二进制构建。CUDA内核将从PTX进行jit编译,这可能需要30分钟或更长时间。2015-08-27 10:00:01.891753: I tensorflow/core/platform/cpu_feature_guard。此TensorFlow二进制文件使用oneAPI深度神经网络库(oneDNN)进行优化,以在关键性能操作中使用以下CPU指令:AVX AVX2在其他操作中启用它们,使用适当的编译器标志重新构建TensorFlow。2016-08-27 10:00:01.895637: W tensorflow/core/common_runtime/gpu/gpu_device。TensorFlow没有使用与compute capability 12.0兼容的CUDA内核二进制构建。CUDA内核将从PTX进行jit编译,这可能需要30分钟或更长时间。

        注:需等待它执行完成,因为如果你的cuda版本过高,TensorFlow在首次运行时会自动编译适配你的cuda版本,在这个过程中可能出现“卡顿时长较长”,但编译完成后,后续任务会恢复正常速度,无需重复编译。

(2)验证GPU设置

python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

运行效果如下:

(E:\miniconda\tf) PS C:\Users\MR_YANG> python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))" 2025-08-27 10:06:30.147288: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2027] TensorFlow was not built with CUDA kernel binaries compatible with compute capability 12.0. CUDA kernels will be jit-compiled from PTX, which could take 30 minutes or longer. [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

        注:虽然仍显示 “未预编译适配 Compute Capability 12.0 的 CUDA 内核” 的警告,但这是首次运行后的 “历史提示残留”—— 实际上你之前执行 tf.reduce_sum 时,JIT 编译已经完成(从后续输出的计算结果和 GPU 设备创建日志可确认)。下次执行 GPU 计算任务(如模型训练、矩阵运算)时,该警告会自动消失,因为 TensorFlow 会复用已编译好的内核,无需重复耗时编译。

自此,TensorFlow-GPU版本已经安装完成!

5、相关说明

Q1:为什么3、中需要切换到英文界面

        因为在中文界面,它不会显示如下警告,导致你直接运行pip3 install --user --upgrade tensorflow之后,安装的是最新版本的TensorFlow,从而无法使用本地GPU进行训练。挺阴间的就是了!

Q2:如果自己已经安装其他CUDA、cuDNN版本,会受到影响嘛?

        不会。在执行step3时,我其实也在担心这个问题,但执行之后,并没有影响到我原有的conda环境,所以请放心安装。

Q3:可以安装其他版本的TensorFlow嘛?

        可以的,你可以根据自己任务需求下载相应的TensorFlow。

        安装参考指令:

pip install https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-2.6.0-cp38-cp38-win_amd64.whl

6、相关报错

报错1:TensorFlow 与当前安装的 NumPy 2.0.2 版本不兼容

报错信息:

(E:\miniconda\tf) PS C:\Users\MR_YANG> python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))" A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.2 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<string>", line 1, in <module> File "E:\miniconda\tf\lib\site-packages\tensorflow\__init__.py", line 37, in <module> from tensorflow.python.tools import module_util as _module_util File "E:\miniconda\tf\lib\site-packages\tensorflow\python\__init__.py", line 37, in <module> from tensorflow.python.eager import context File "E:\miniconda\tf\lib\site-packages\tensorflow\python\eager\context.py", line 35, in <module> from tensorflow.python.client import pywrap_tf_session File "E:\miniconda\tf\lib\site-packages\tensorflow\python\client\pywrap_tf_session.py", line 19, in <module> from tensorflow.python.client._pywrap_tf_session import * AttributeError: _ARRAY_API not found A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.2 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "<string>", line 1, in <module> File "E:\miniconda\tf\lib\site-packages\tensorflow\__init__.py", line 37, in <module> from tensorflow.python.tools import module_util as _module_util File "E:\miniconda\tf\lib\site-packages\tensorflow\python\__init__.py", line 42, in <module> from tensorflow.python import data File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\__init__.py", line 21, in <module> from tensorflow.python.data import experimental File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\__init__.py", line 96, in <module> from tensorflow.python.data.experimental import service File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\service\__init__.py", line 419, in <module> from tensorflow.python.data.experimental.ops.data_service_ops import distribute File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\ops\data_service_ops.py", line 24, in <module> from tensorflow.python.data.experimental.ops import compression_ops File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\ops\compression_ops.py", line 16, in <module> from tensorflow.python.data.util import structure File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\util\structure.py", line 23, in <module> from tensorflow.python.data.util import nest File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\util\nest.py", line 36, in <module> from tensorflow.python.framework import sparse_tensor as _sparse_tensor File "E:\miniconda\tf\lib\site-packages\tensorflow\python\framework\sparse_tensor.py", line 24, in <module> from tensorflow.python.framework import constant_op File "E:\miniconda\tf\lib\site-packages\tensorflow\python\framework\constant_op.py", line 25, in <module> from tensorflow.python.eager import execute File "E:\miniconda\tf\lib\site-packages\tensorflow\python\eager\execute.py", line 23, in <module> from tensorflow.python.framework import dtypes File "E:\miniconda\tf\lib\site-packages\tensorflow\python\framework\dtypes.py", line 29, in <module> from tensorflow.python.lib.core import _pywrap_bfloat16 AttributeError: _ARRAY_API not found ImportError: numpy.core._multiarray_umath failed to import ImportError: numpy.core.umath failed to import Traceback (most recent call last): File "<string>", line 1, in <module> File "E:\miniconda\tf\lib\site-packages\tensorflow\__init__.py", line 37, in <module> from tensorflow.python.tools import module_util as _module_util File "E:\miniconda\tf\lib\site-packages\tensorflow\python\__init__.py", line 42, in <module> from tensorflow.python import data File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\__init__.py", line 21, in <module> from tensorflow.python.data import experimental File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\__init__.py", line 96, in <module> from tensorflow.python.data.experimental import service File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\service\__init__.py", line 419, in <module> from tensorflow.python.data.experimental.ops.data_service_ops import distribute File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\ops\data_service_ops.py", line 24, in <module> from tensorflow.python.data.experimental.ops import compression_ops File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\experimental\ops\compression_ops.py", line 16, in <module> from tensorflow.python.data.util import structure File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\util\structure.py", line 23, in <module> from tensorflow.python.data.util import nest File "E:\miniconda\tf\lib\site-packages\tensorflow\python\data\util\nest.py", line 36, in <module> from tensorflow.python.framework import sparse_tensor as _sparse_tensor File "E:\miniconda\tf\lib\site-packages\tensorflow\python\framework\sparse_tensor.py", line 24, in <module> from tensorflow.python.framework import constant_op File "E:\miniconda\tf\lib\site-packages\tensorflow\python\framework\constant_op.py", line 25, in <module> from tensorflow.python.eager import execute File "E:\miniconda\tf\lib\site-packages\tensorflow\python\eager\execute.py", line 23, in <module> from tensorflow.python.framework import dtypes File "E:\miniconda\tf\lib\site-packages\tensorflow\python\framework\dtypes.py", line 34, in <module> _np_bfloat16 = _pywrap_bfloat16.TF_bfloat16_type() TypeError: Unable to convert function return value to a Python type! The signature was () -> handle

报错原因:

        早期版本的 TensorFlow(如安装的 <2.11 版本)是基于 NumPy 1.x 编译的,无法在 NumPy 2.x 环境中正常运行。

解决方案:降级 NumPy 到 1.x 版本

        在TensorFlow所处的conda 环境中执行以下命令:

pip install "numpy<2.0"

        这条命令会将 NumPy 降级到 1.x 系列的最新版本,与你的 TensorFlow 版本兼容。

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

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

相关文章

Elasticsearch 索引字段删除,除了 Reindex 重建索引还有没有别的解决方案?

unsetunset1、问题来源unsetunset在生产环境维护 Elasticsearch 集群的过程中&#xff0c;经常会遇到这样的场景&#xff1a;业务需求变更导致某些字段不再使用&#xff0c;或者早期设计时添加了一些冗余字段&#xff0c;现在需要清理掉。最近球友在公司的一个项目中就遇到了这…

Ubuntu虚拟机磁盘空间扩展指南

这是一份详细且易于理解的 Ubuntu 虚拟机磁盘空间扩展指南。本指南涵盖了两种主流虚拟机软件&#xff08;VirtualBox 和 VMware&#xff09;的操作步骤&#xff0c;并分为 “扩展虚拟磁盘” 和 “在 Ubuntu 内部分配新空间” 两大部分。重要提示&#xff1a;在进行任何磁盘操作…

教程1:用vscode->ptvsd-创建和调试一个UI(python)-转载官方翻译(有修正)

vscode用python开发maya联动调试设置 3dsMax Python开发环境搭建 3文联动之debugpy调试max‘python. 3文联动之socket插槽注入max‘python 本教程是max主动接收创建代码的方式&#xff08;预先运行界面&#xff0c;通过按钮主动读取py脚本&#xff0c;执行断点&#xff09;&…

龙迅#LT7621GX适用于两路HDMI2.1/DP1.4A转HDMI2.1混切应用,分辨率高达8K60HZ!

1. 描述LT7621GX是一款高性能两路HDMI2.1/DP1.4转HDMI2.1混合开关芯片&#xff0c;用于显示应用。 HDCP RX作为HDCP中继器的上游&#xff0c;可以与其他芯片的HDCP TX配合&#xff0c;实现中继器功能。 对于HDMI2.1输入&#xff0c;LT7621GX可以配置为3/4通道。自适应均衡使其适…

【Ruoyi 解密 - 12. JDK17的新特性】------ 从Java 8 到 Java 17:向Scala看齐的“简洁革命”,同宗JVM下的效率狂飙

从Java 8到Java 17&#xff1a;抄作业Scala&#xff1f;JVM同宗下的Ruoyi开发效率狂飙&#xff01; 上一篇我们聊到JDK 17对Python的柔性借鉴&#xff0c;可深入用下来才发现——这哪够&#xff01;对Ruoyi开发者来说&#xff0c;JDK 17真正的“王炸”&#xff0c;是把同根JVM的…

大模型 “轻量化” 之战:从千亿参数到端侧部署,AI 如何走进消费电子?

一、大模型 “轻量化” 的行业背景在 AI 技术蓬勃发展的当下&#xff0c;大模型已然成为行业焦点。从 GPT-4 突破万亿级参数量&#xff0c;到 DeepSeek-R1 迈向千亿参数规模&#xff0c;大模型的参数扩张趋势显著。然而&#xff0c;这种规模的增长也带来了诸多挑战。以 GPT-4 为…

香港电讯与Microsoft香港推出新世代“Teams Phone” 解决方案

香港电讯成为香港首家提供 “Microsoft Operator Connect”的本地电讯营运商1 香港电讯&#xff08;股份代号&#xff1a;6823&#xff09;【香港 • 2025年2月11日】 – 香港电讯宣布与 Microsoft 香港合作推出 “Operator Connect”&#xff0c;成为全港首家为企业客户提供全…

PlantUML描述《分析模式》第3章观察和测量(2)

lantUML描述《分析模式》第2章“当责”&#xff08;1&#xff09; PlantUML描述《分析模式》第2章“当责”&#xff08;2&#xff09; PlantUML描述《分析模式》第3章观察和测量&#xff08;1&#xff09; 原图3.8 EA绘制 图3.8 递归关系用于记录证据和评估。 PlantUML sta…

轮廓周长,面积,外界圆,外界矩形近似轮廓和模板匹配和argparse模块实现代码参数的动态配置

目录 一.轮廓操作 1.轮廓特征的引入与筛选 2.轮廓排序和精准定位 3.外接圆与外接矩形的计算与绘制 二.轮廓近似 1.轮廓近似的基本概念 2.轮廓近似的实现方法和核心步骤 3. 近似精度参数的设定逻辑 4.轮廓定位方法 三.模板匹配 1.模板匹配技术原理与实现流程 2.技术要…

【第三方网站测评:会话管理漏洞的测试与加固】

会话管理是Web应用安全的用于在无状态的HTTP协议上维持用户状态。漏洞主要源于会话令牌(Session Token)的生成、传输、验证和销毁过程中的缺陷。攻击者利用这些缺陷可劫持用户会话,未经授权访问敏感数据或执行特权操作,属于OWASP TOP 10中身份验证失效的高频风险。 会话管…

理想汽车智驾方案介绍专题 3 MoE+Sparse Attention 高效结构解析

一、前言 【理想汽车智驾方案介绍专题 -1】端到端VLM 方案介绍 【理想汽车智驾方案介绍专题 -2】MindVLA 方案详解 在上述两篇系列帖子中&#xff0c;笔者已对理想汽车 VLM 和 VLA 方案的框架进行了全面介绍&#xff0c;但对于其中的前沿技术仅做了初步探讨&#xff0c;未进…

如何将yolo训练图像数据库的某个分类的图像取出来

COCO 数据集 - Ultralytics YOLO 文档 比如我只想从数据集中取手机的图像&#xff0c;来用于我的训练&#xff0c;懒得自己一张一张标注&#xff0c;方法如下 # -*- coding: utf-8 -*- import json import os import shutil from pathlib import Path from tqdm import tqdm i…

【WPF】WPF 自定义控件实战:从零打造一个可复用的 StatusIconTextButton (含避坑指南)

&#x1f527; WPF 自定义控件实战&#xff1a;从零打造一个可复用的 StatusIconTextButton&#xff08;含避坑指南&#xff09;发布于&#xff1a;2025年8月29日 标签&#xff1a;WPF、C#、自定义控件、MVVM、Generic.xaml、属性绑定、TemplateBinding&#x1f4cc; 引言 在 W…

中国国际商会副秘书长徐梁一行到访国联股份

2025年08月27日&#xff0c;中国国际商会副秘书长徐梁等一行到访国联股份&#xff0c;国联股份创始人、CEO/总裁钱晓钧&#xff0c;国联股份副总裁、卫多多/纸多多CEO黄莎莎等热情招待来访一行&#xff0c;并展开深入交流。来访一行首先参观了国联股份数字经济展厅&#xff0c;…

换公司如何快速切入软件项目工程

一、前言 作为程序员&#xff0c;根据自身职业发展&#xff0c;会通过跳槽谋求更进一步的发展&#xff0c;这时进入新公司&#xff0c;接触全新的项目工程和业务&#xff0c;如何快速的切入&#xff0c;形成认识呢&#xff1f;就算不跳槽&#xff0c;公司业务调整&#xff0c;也…

Linux系统——EXT2 文件系统

磁盘文件 文件属性 文件内容文件内容 —— 数据块&#xff0c;文件属性 —— inodeLinux 文件在磁盘中的存储&#xff0c;是将 属性 与 内容 分开存储的内存&#xff1a;掉电易失&#xff0c;磁盘&#xff1a;永久性存储介质图片来自百度磁盘访问的基本单元&#xff1a;扇区 …

Qt中的锁(1)

Qt中的锁&#xff08;1&#xff09; 加锁&#xff0c;把多个要访问的公共资源通过锁保护起来&#xff0c;把并行执行变成串行执行&#xff0c; 多个线程执行加锁的对象得是同一个对象&#xff0c;不同对象不会互斥 代码&#xff1a;//添加一个static成员static int num;//创建锁…

数据结构 02(线性:顺序表)

目录 线性表 顺序表 概念与结构 动态顺序表的实现 头文件的创建 顺序表初始化 顺序表的扩容 尾插功能 头插功能 尾删功能 头删功能 查找功能 任意位置前插入 任意位置前删除 销毁 动态顺序表整体呈现 SeqList.h SeqList.c 线性表 线性表是n个具有相同特性的数…

自助餐厅:自主取餐的平衡术

自助餐厅&#xff0c;本质是通过 “固定客单价 自主取餐” 的模式&#xff0c;把 “吃什么、吃多少” 的选择权还给用户&#xff0c;同时用运营设计平衡 “用户体验” 与 “餐厅成本”—— 它不是 “让用户吃垮餐厅” 的游戏&#xff0c;而是餐饮行业里 “效率与体验结合” 的…

TypeScript: Reflect.ownKeys 操作(针对 Symbol)

Reflect.ownKeys 是 JavaScript ES6 引入的 Reflect API 中的一个方法&#xff0c;用于获取目标对象的所有自身属性键&#xff08;包括字符串键和 Symbol 键&#xff09;。1.基本概念&#xff1a;Reflect.ownKeys(target)&#xff1a;接受一个对象 target 作为参数&#xff0c;…