要安装适合的 TensorFlow GPU 版本,需要确保系统满足一些基本要求,并选择与之兼容的 TensorFlow、CUDA 和 cuDNN 版本。以下是windows11系统下安装过程的详细步骤:
目录
步骤2:选择正确的 python、TensorFlow、CUDA 和 cuDNN 版本
Anaconda 创建新环境并将其添加到 Jupyter Notebook :
步骤1:检查系统要求
- NVIDIA GPU: 确保你有一张支持 CUDA 的 NVIDIA GPU。(显卡)
- CUDA Toolkit: 下载并安装适合 TensorFlow 版本的 CUDA Toolkit。
- cuDNN Library: 下载并安装与 CUDA 版本匹配的 cuDNN 库。
步骤2:选择正确的 python、TensorFlow、CUDA 和 cuDNN 版本
根据 TensorFlow 官方指南选择适合的版本。Build from source on Windows | TensorFlow (google.cn)
一般来说TensorFlow版本越高所需环境版本越高,否则容易不匹配报错,本人下载仅供参考:
- 显卡RTX3060->python3.9->TensorFlow 2.10.0 -> CUDA 11.2, cuDNN 8.1
步骤3:安装 CUDA 和 cuDNN
-
安装 CUDA Toolkit:
- .直通11.2:CUDA Toolkit 11.2 Update 2 Downloads | NVIDIA Developer。接下来直接看下面第6点。
- 或者选着其他版本下载 CUDA Toolkit 安装程序 从这里:https://developer.nvidia.com/cuda-downloads。
- 按照安装指南进行安装,可以先检查是否已有安装。
- 将 CUDA 的 bin 目录(例如
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
)添加到系统路径中(配置环境变量)。
-
安装 cuDNN:
- 选择下载适合 CUDA 版本的 cuDNN 库 从这里:https://developer.nvidia.com/cudnn-downloads。注意,这个到下面第3点需要注册登录后才能下载
- 解压缩下载的文件,并将
cudnn
文件中bin
、include
和lib
目录下各自包含的所有文件分别复制到 CUDA 安装各自目录:lib\x64中cudnn*.lib
文件应位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64
。include中cudnn*.h
文件应位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
。bin中
cudnn64*.dll
文件应位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
(或相应的 CUDA 版本路径)。- NVIDIA_SLA_cuDNN_Support.txt文件应位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
要检查 CUDA Toolkit 和 cuDNN Library 是否正确安装,你可以按照以下步骤操作:
检查 CUDA Toolkit 安装
-
检查 CUDA 版本 打开命令行(CMD 或终端)并输入以下命令:
nvcc --version
-
检查 CUDA 核心库 在命令行中输入以下命令:
nvidia-smi
你将看到一个关于你的 NVIDIA GPU 的详细信息,包括已安装的 CUDA 版本,这里展示的是我之前安装的12.1版本。您也可以在系统上安装多个 CUDA 版本,但您可能需要确保您为项目或应用程序使用了正确的 CUDA 版本。
-
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite
.\bandwidthTest.exe
.\deviceQuery.exe
验证CUDA是否安装成功,也可以进入CUDA安装路径下的demo_suite目录,运行后两条代码都看到Result = PASS
环境变量问题
-
环境变量: 确保 CUDA 和 cuDNN 的路径已添加到系统的环境变量中。你可以在系统属性中检查和设置环境变量。
- 在 Windows 中:
- 右键点击“计算机”或“此电脑”,选择“属性”。
- 点击“高级系统设置”。
- 在“系统属性”窗口中,点击“环境变量”。
- 在“系统变量”下,找到
Path
变量并编辑,添加 CUDA 和 cuDNN 的路径保存:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
- 在 Windows 中:
-
重新启动: 修改环境变量后,可重启你的计算机以确保更改生效。正常情况下不需要重启也行
通过这些步骤,你可以确认是否正确安装了 CUDA Toolkit 和 cuDNN Library。
步骤4:安装 TensorFlow-GPU
如何是已有环境安装,可以先查看Anaconda中是否安装了TensorFlow-gpu,
打开Anaconda Powershell Prompt
创建并激活一个新的 Anaconda 环境,然后安装 TensorFlow-GPU:
-
创建新的 Conda 环境
tf_gpu
并激活,或者直接选择自己的已有环境,记得查看/选择python版本别太低,否则可能发生版本与 TensorFlow 2.10.0 及其依赖项不兼容。TensorFlow 2.10.0 需要 Python 3.7、3.8 或 3.9:,tf_gpu为新环境名称,可自行更改。 -
conda create -n tf_gpu python=3.9 conda activate tf_gpu
查看当前环境python版本:
python --version
查看当前可用的TensorFlow-gpu或TensorFlow(包含gpu)版本,或者Build from source on Windows | TensorFlow (google.cn)查看,从中选择需要的安装
conda search tensorflow-gpu conda search tensorflow
可以先禁用严格优先级,可以解决某些包冲突的问题
conda config --set channel_priority flexible
-
安装 TensorFlow-GPU:
conda install tensorflow-gpu==2.10.0
下载慢的可试试添加不同镜像源,整个过程也可以使用pip命令操作安装:
conda install tensorflow-gpu==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
如出现问题,可卸载重装,或更改版本安装:
conda uninstall tensorflow-gpu==2.10.0 conda install tensorflow-gpu==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
步骤5:验证安装
方法1:使用conda命令
打开命令行(Anaconda Powershell Prompt或终端),然后输入以下命令:
conda list tensorflow
这将列出当前环境中安装的所有包含“tensorflow”关键字的包。如果没有安装TensorFlow,这个命令将不会返回任何结果。
方法2:使用pip命令
如果你在Anaconda环境中也使用了pip进行包管理,可以使用以下命令查看是否通过pip安装了TensorFlow:
pip list | grep tensorflow
这个命令会列出所有通过pip安装的包含“tensorflow”关键字的包。
方法3:在Python中导入
你还可以直接在Python环境中尝试导入TensorFlow来检查是否安装。打开Python解释器(可以在Anaconda Prompt中输入python
),然后输入:
import tensorflow as tf print(tf.__version__)
如果TensorFlow已正确安装,这将输出TensorFlow的版本号。否则,你会看到一个ImportError,表明TensorFlow没有安装。
或者通过运行以下代码来验证 TensorFlow-GPU 安装:
import tensorflow as tf
print("TensorFlow version:", tf.__version__)
print("Num GPUs Available: ",len(tf.config.experimental.list_physical_devices('GPU')))
如果安装正确,你会看到输出显示TensorFlow版本和可用的 GPU 数量。如果是使用pycharm、jupyter等运行tensorflow代码,在这之前,务必正确选择下载所在的环境或者内核,如jupyter需要创建新内核并选择:
Anaconda 创建新环境并将其添加到 Jupyter Notebook :
1. 创建新环境
已经有tensorflow环境了的直接跳至3。
首先,在终端或 Anaconda Prompt 中创建一个新的环境 tf_gpu:
conda create --name tf_gpu python=3.x
# 这里的
tf_gpu为新环境名称,可自行更改 3.x 可以是你需要的 Python 版本
2. 激活新环境
激活刚创建的环境:
conda activate tf_gpu
3. 安装 Jupyter Notebook
确保在新环境中安装了 Jupyter Notebook:
conda install jupyter
4. 安装 ipykernel
安装 ipykernel
以便将新环境添加到 Jupyter 中:
conda install ipykernel
5. 将新环境添加到 Jupyter
使用以下命令将新环境添加到 Jupyter 中:
python -m ipykernel install --user --name tf_gpu --display-name "tf_gpu"
6. 检查新内核
现在,你可以启动 Jupyter Notebook 并在内核选择列表中看到 tf_gpu。
运行 Jupyter Notebook:
jupyter notebook
在 Jupyter Notebook 的右上角,你可以选择内核。在下拉菜单中选择 tf_gpu。
故障排除
如果在上述步骤中遇到问题,可以尝试以下操作:
-
更新 Conda:
conda update conda
-
更新 Jupyter:
conda update jupyter
通过这些步骤,你应该能够成功地将新创建的 tf_gpu 环境添加到 Jupyter Notebook 中并使用它。
步骤六:整体故障排除方向
- CUDA 和 cuDNN 兼容性: 确保 CUDA 和 cuDNN 版本与 TensorFlow 版本兼容。
- python兼容性:确保python版本与TensorFlow 版本兼容
- 环境变量: 确保 CUDA 和 cuDNN 路径已正确添加到系统路径中。
- 环境中各种包的兼容性:如numpy、protobuf等。
- NVIDIA 驱动: 确保你的 NVIDIA 驱动是最新的(不太重要)。
通过这些步骤,应该能够成功安装适合的 TensorFlow-GPU 版本并在你的系统上运行。
曾遇到问题:
运行python代码报错:
TypeError: Descriptors cannot be created directly. 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. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower). More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
这个错误信息暗示了由于 Protocol Buffers Python 库的更新,可能存在与新库版本不兼容的问题。
解决:
降级 protobuf 包:
- 另一个解决方法是降级 protobuf 包的版本到 3.20.x 或更低版本。你可以尝试通过以下命令降级 protobuf 包:
pip install protobuf==3.20
本文为个人学习实践记录,基于chatgpt与参考博文;