当前位置: 首页 > news >正文

Tensorflow的安装记录

参考:

TensorFlow 保姆级教程:安装步骤、使用示例及常见问题应对_tensorflow安装-CSDN博客

官网:

关于TensorFlow | TensorFlow中文官网

安装前准备

环境要求

  • Python版本:TensorFlow支持Python 3.7 - 3.11。确保你的Python环境已经正确安装并且可以正常使用。你可以在命令行(Windows下是cmd,Linux和Mac下是终端)中输入python --version(对于Python 3)或者python3 --version来检查Python版本。
  • 操作系统:TensorFlow可以在Windows、Linux和MacOS等主流操作系统上安装。不同操作系统在安装过程中可能会有一些细微差别。

安装包管理工具

  • 推荐使用pip来安装TensorFlow。pip是Python的包管理工具,在安装Python时通常会自动安装。你可以在命令行中输入pip --version来检查是否安装成功。如果没有安装,可以参考Python官方文档来安装pip。

虚拟环境

  • 为了避免依赖冲突,建议使用虚拟环境来安装,提前配置好 venvconda,然后创建虚拟环境,参考:Python虚拟环境创建和使用总结_pyvenv.cfg-CSDN博客

推荐的python版本

安装 TensorFlow 时,Python 版本的选择取决于你使用的 TensorFlow 版本以及你的具体需求。以下是当前的推荐配置:

截至 2025 年 7 月,TensorFlow 的稳定版本(如 2.15.x 和 2.16.x)支持以下 Python 版本:

TensorFlow 版本推荐 Python 版本说明
2.16.x3.10(稳定)开始实验性支持 Python 3.11,但建议使用 3.10 以获得最佳稳定性。
2.15.x3.8-3.10主流版本,完全支持 Python 3.10,3.11 尚未官方支持。
2.14.x 及以下3.7-3.10旧版本,逐步淘汰对 Python 3.7 的支持。

推荐选择

 优先使用 Python 3.10

  • 与 TensorFlow 2.15.x 和 2.16.x 完全兼容,稳定性最佳。
  • 避免了 Python 3.11 的实验性支持可能带来的兼容性问题。

若需 Python 3.11

  • 仅在必要时使用(如项目依赖 3.11 的新特性),并安装 TensorFlow 2.16.0 及以上版本。
  • 注意:部分依赖库(如 TensorFlow Addons)可能尚未完全适配 3.11。

避免使用 Python 3.7 及以下

  • TensorFlow 2.15 + 已逐步减少对 Python 3.7 的支持,未来可能不再兼容。 

看看官网:

关于TensorFlow | TensorFlow中文官网

根据官网的提示,tensorflow2在Py3.6-Py3.9上比较稳定

所以,综合来看,选择Python9比较稳。

选择Tensorflow版本

注意,这里说的不是哪个几点几的小版本号,而是Tensorflow分为两大类版本,CPU版本和GPU版本,它们在安装方式、依赖和性能上有明显区别。

核心区别

特性CPU 版本GPU 版本
硬件依赖无需 GPU,纯 CPU 计算需要 NVIDIA GPU(CUDA 兼容)
安装包tensorflowtensorflow-gpu 或 tensorflow[gpu]
计算性能较慢(适合小规模任务)显著加速(适合大规模训练)
显存支持依赖系统内存依赖 GPU 显存(如 8GB/16GB)
典型场景开发调试、轻量级推理大规模训练、图像 / 视频处理
  • CPU 版本:简单易用,适合学习和小规模任务。
  • GPU 版本:需额外配置,但能大幅提升训练速度(通常快 10-100 倍)。

选择建议

场景版本选择
初学者或无 GPUCPU 版本
开发调试(有 GPU)GPU 版本
生产环境(高并发推理)CPU 版本(多线程优化)
大规模训练(如图像生成)GPU 版本

安装CPU版本

CPU版本的安装比较简单

 1. 直接安装(默认最新版本)

pip install tensorflow

2. 指定版本安装

pip install tensorflow==2.12.0  # 安装特定版本

3. 使用国内镜像加速(推荐)

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

等待安装完成。安装过程中会自动下载并安装TensorFlow及其依赖项。安装完成后,你可以在Python脚本或者交互式环境(如python或者ipython)中尝试导入TensorFlow来验证安装是否成功。例如,在Python交互式环境中输入import tensorflow as tf,如果没有报错,说明安装成功。

一般如果没有安装就会报错,比如:

会有波浪线提示。

TensorFlow CPU 版本安装简单,适合初学者和轻量级任务。若遇到性能瓶颈,可考虑:

  • 使用 Google Colab(免费 GPU)。
  • 升级到支持 CUDA 的 GPU 版本。
  • 使用 Intel MKL-DNN 优化 CPU 性能。

安装后建议通过示例代码验证环境,确保模型能正常训练和推理。

如果需要卸载

pip uninstall tensorflow

更多细节待补充。

安装GPU版本

GPU 版本的前置条件

NVIDIA 显卡

  • 支持 CUDA 的型号(如 GTX 10 系列、RTX 20/30/40 系列等)。
  • 检查显卡型号:nvidia-smi(Windows/Linux 终端命令)。

CUDA 工具包

  • 版本需与 TensorFlow 兼容(如 TensorFlow 2.12 对应 CUDA 11.8)。
  • 下载地址:NVIDIA 官网。

cuDNN 库

  • 深度神经网络加速库,需与 CUDA 版本匹配。
  • 下载地址:NVIDIA 官网。

关于CUDA

可参考:嵌入式AI?-CSDN博客

CUDA (Compute Unified Device Architecture)是一套软硬件结合的解决方案,包括硬件架构(GPU 中的计算核心)和软件编程模型(API、工具链、库),旨在让开发者用类似 C/C++ 等主流语言编写并行计算程序,而非仅用于图形渲染。

目标: 将 GPU 从传统的图形处理器拓展为通用并行计算处理器,解决 CPU 在处理大规模并行任务(如深度学习、科学计算)时的性能瓶颈问题。

怎么知道自己电脑用的是什么显卡呢?

可以直接看电脑的属性,或者用鲁大师等应用查看,或者直接打开cmd窗口,输入如下命令:

wmic path win32_VideoController get Name

输出示例: 

说明:

  • 该命令会列出所有显卡的名称,包括独立显卡和集成显卡。

  • 若有多个显卡,会显示多行结果。

开始安装

我们可以使用命令来一次性安装好tensorflow以及其依赖的CUDA和cuDNN;也可以分别手动安装。如下所示:

# 方式1:自动安装 CUDA/cuDNN 依赖(推荐)
pip install tensorflow[gpu]# 方式2:手动指定版本(需自行安装 CUDA 11.8 + cuDNN 8.6)
pip install tensorflow-gpu==2.12.0

验证安装

同样,安装完成后可以在Python中导入tensorflow来验证。

运行以下代码检查 TensorFlow 是否能识别 GPU:

import tensorflow as tfprint("TensorFlow 版本:", tf.__version__)
print("GPU 是否可用:", tf.test.is_gpu_available())
print("可用 GPU 列表:", tf.config.list_physical_devices('GPU'))

输出示例(GPU 可用)

TensorFlow 版本: 2.12.0
GPU 是否可用: True
可用 GPU 列表: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

GPU 版本默认会占用全部显存,可通过以下代码动态分配:

import tensorflow as tfgpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:try:# 设置显存增长for gpu in gpus:tf.config.experimental.set_memory_growth(gpu, True)except RuntimeError as e:print(e)

常见问题

  • CUDA 版本不匹配

    • 错误提示:Could not load dynamic library 'libcudart.so.X.X'
    • 解决方案:卸载现有 CUDA,安装与 TensorFlow 兼容的版本。
  • 显存不足

    • 错误提示:Resource exhausted: OOM when allocating tensor
    • 解决方案:减小批量大小(batch_size),或使用显存优化技术。
  • Intel/AMD 显卡

    • TensorFlow 官方仅支持 NVIDIA GPU。Intel 显卡可尝试通过 intel-extension-for-tensorflow 加速,但性能有限。

安装慢的问题

使用pip install tensorflow安装CPU版本时遇到问题:

错误描述如下:

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

后使用国内镜像后安装成功,看来这次是网络的问题。

有哪些常用的国内源

可以使用清华源、阿里云源等国内源来下载 TensorFlow,我们以TensorFlow 2.15.0为例说明:

  • 清华源2:清华大学开源软件镜像站提供了丰富的 Python 包镜像,地址为Simple Index。可使用命令pip install tensorflow==2.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/来安装 TensorFlow 2.15.0。
  • 阿里云源9:阿里云镜像站也提供了 Python 包的镜像服务,地址是mirrors.aliyun.com/pypi/simple/。安装命令为pip install tensorflow==2.15.0 -i mirrors.aliyun.com/pypi/simple/
  • 中国科技大学源9:中国科技大学镜像源同样可以用于下载 TensorFlow,地址为pypi.mirrors.ustc.edu.cn/simple/。使用命令pip install tensorflow==2.15.0 -i pypi.mirrors.ustc.edu.cn/simple/即可通过该镜像源进行安装。
  • 豆瓣源9:豆瓣源也支持下载相关包,地址是pypi.douban.com/simple/。安装命令为pip install tensorflow==2.15.0 -i pypi.douban.com/simple/

版本冲突?

遇到一个无法导入tensorflow下keras的问题,tensorflow 能导入,但是tensorflow.keras导入不了

这个问题通常是由于 TensorFlow 版本不兼容或安装不完整导致的。当你可以导入tensorflow但无法导入其子模块keras时,可能有以下几种原因及解决方案:

解决方案

1. 确认 TensorFlow 版本

确保你使用的是 TensorFlow 2.x 版本(从 TensorFlow 2.0 开始,Keras 已集成到tensorflow.keras中)。在 Python 中运行:

import tensorflow as tf
print(tf.__version__)  # 应显示2.x.x

如果版本是 1.x.x,需要升级 TensorFlow:

pip install --upgrade tensorflow

我验证了是2.x.x版本的

这块看起来没啥问题,继续排查,

2. 验证keras核心模块导入

直接尝试导入 Keras 的核心模块,检查具体错误:

from tensorflow import keras
print(keras.__version__)  # 应显示版本号

也是正常的:

这是为啥,写法不一样,就不行了?

搞不懂是为啥,尝试直接卸载重装吧。

3. 卸载重装

TensorFlow 的 CPU 版本和 GPU 版本使用 pip 卸载的命令是相同的。无论你安装的是 CPU 版还是 GPU 版,都可以通过以下命令卸载:

pip uninstall tensorflow

卸载过程如下:

4.Python降级

我当前使用的是Py3.11,不知道跟这个有没有关系。我尝试安装一个Python10,然后再下载tensorflow看看。

 我先下载了Python3.10.3来安装,那么现在我本地有两个python版本,使用pip安装tensorflow时,怎么指定匹配哪个python版本?

当本地有两个 Python 版本时,可通过指定 Python 可执行文件路径或使用虚拟环境等方式,来确定用哪个 Python 版本安装 TensorFlow,具体方法如下:

  • 使用 Python 可执行文件路径指定2:找到你想使用的 Python 版本的可执行文件路径,然后通过该路径调用pip来安装 TensorFlow。例如,在 Windows 系统中,若 Python 3.8 的安装路径为C:\Python38,则可在命令行中输入C:\Python38\python.exe -m pip install tensorflow来安装 TensorFlow,这样就会将其安装到 Python 3.8 环境中。在 Linux 或 macOS 系统中,若 Python 3.10 的路径为/usr/local/bin/python3.10,可使用命令/usr/local/bin/python3.10 -m pip install tensorflow进行安装。
  • 利用py命令指定4:在 Windows 系统中,可使用py命令来指定 Python 版本。例如,要使用 Python 3.5 安装 TensorFlow,可在命令行中输入py -3.5 -m pip install tensorflow
  • 通过pip3命令安装6:一般情况下,pip通常指向 Python 2 版本(若存在),pip3指向 Python 3 版本。所以如果你想将 TensorFlow 安装到 Python 3 环境中,可以直接在命令行中使用pip3 install tensorflow命令(前提是pip3已正确指向你想要的 Python 3 版本)。
  • 使用虚拟环境1:可以借助venvAnaconda等工具创建虚拟环境,并指定 Python 版本,然后在虚拟环境中安装 TensorFlow。以venv为例,若你想基于 Python 3.9 创建虚拟环境并安装 TensorFlow,可先执行python3.9 -m venv myenv创建虚拟环境,再激活虚拟环境(Windows 下为myenv\Scripts\activate,Linux/macOS 下为source myenv/bin/activate),最后执行pip install tensorflow进行安装。

这里,我直接用路径来安装,命令如下:

C:\Users\admin\AppData\Local\Programs\Python\Python310\python.exe -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow

安装后仍然存在同样的问题

我发现另一个问题,不管我是Python3.10还是Python3.11,下载的tensorflow版本都是一样的2.19.0,是不是这个版本太高了呀?所以,我准备将Tensorflow降个级试试看。

5.tensorflow降级

先明确,Python3.10.3匹配哪个版本的tensorflow

Python 3.10.3 与 TensorFlow 2.8.0 及以上版本 兼容。根据 TensorFlow 官方版本支持矩阵,以下是具体对应关系:

推荐版本

TensorFlow 版本Python 3.10 支持情况说明
2.16.x完全支持(最新稳定版)推荐使用,支持 Python 3.10-3.11,包含性能优化和新特性。
2.15.x完全支持主流稳定版,广泛用于生产环境,支持 Python 3.8-3.10。
2.14.x完全支持旧版本,但仍兼容 Python 3.10。
2.8.0-2.13.x部分支持(需验证兼容性)早期版本对 Python 3.10 的支持可能不完全,建议升级到更高版本。

对于 Python 3.10.3,推荐安装 TensorFlow 2.16.0(最新稳定版)或 2.15.0(主流稳定版)。

我就装个2.15.0版本的试试看

先卸载之前的版本

C:\Users\admin\AppData\Local\Programs\Python\Python310\python.exe -m pip uninstall tensorflow

再安装指定的2.15.0版本

C:\Users\admin\AppData\Local\Programs\Python\Python310\python.exe -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==2.15.0

安装完成。

还是不行,服了。

6.直接百度

tensorflow.keras无法解析导入_百度搜索

找到个类似的

vscode无法解析导入“tensorflow.keras“解决_无法解析导入tensorflow.keras-CSDN博客

看到个评论

所以我决定直接无视,不管了,直接运行,貌似也没有报错。

 

http://www.dtcms.com/a/270840.html

相关文章:

  • 一天一道Sql题(day04)
  • 开源链动2+1模式与AI智能名片融合下的S2B2C商城小程序源码:重构大零售时代新生态
  • 华为静态路由配置
  • linux正向配置dns解析
  • 事件驱动架构
  • 汽车工业制造领域与数字孪生技术的关联性研究​
  • UI前端大数据处理性能评估与优化:基于负载测试的数据处理能力分析
  • 利用Wisdom SSH高效搭建CI/CD工作流
  • python Gui界面小白入门学习
  • # Shell 编程:从入门到实践
  • Android 系统默认代码,如何屏蔽相册分享功能
  • Android 组件内核
  • Go语言高级面试必考:切片(slice)你真的掌握了吗?
  • 设计模式(行为型)-责任链模式
  • golang条件编译:Build constraints
  • bash 判断 /opt/wslibs-cuda11.8 是否为软连接, 如果是,获取连接目的目录并自动创建
  • 基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层
  • 金融时间序列机器学习训练前的数据格式验证系统设计与实现
  • React对于流式数据和非流式数据的处理和优化
  • 【实战】Dify从0到100进阶--知识库相关模型原理
  • 【编程史】IDE 是谁发明的?从 punch cards 到 VS Code
  • 【Python基础】变量、运算与内存管理全解析
  • Vue的watch和React的useEffect
  • 第4章:实战项目一 打造你的第一个AI知识库问答机器人 (RAG)
  • SQL Server 2008R2 到 2012 数据库迁移完整指南
  • Debezium:一款基于CDC的开源数据同步工具
  • css支持if else
  • css sprites使用
  • tailwindcss详解
  • CSS中的Element语法