建议在安装之前先确认下面链接中Python的版本以及其对应的tensorflow、CUDA、cuDNN对应的版本。
Tensorflow与Python、CUDA、cuDNN的版本对应表_tensorflow版本对应python3.11-CSDN博客
一.使用conda创建环境
初学者可以参考这篇文章:Anaconda安装及环境配置-CSDN博客
这里我创建了一个名为 TF ,Python版本为3.8的环境
二.安装 tensorflow-cpu 版本
1.激活环境之后,安装Python3.8 对应版本的tensorflow。
这里我安装的tensorflow-cpu版本为2.6
如果自己想安装其他的Python版本和对应的tensorflow版本,可以参考文章开头链接
2.安装成功
- 在Python中导入包:import tensorflow as tf
- 一开始提示报错,原因是protoc版本不对,参考下面这篇文章可解决。
解决:TypeError: Descriptors cannot not be created directly-CSDN博客
- 解决之后再次导入包,出现下面警告:
第一条警告意味着 TensorFlow 在尝试加载名为
cudart64_110.dll
的动态链接库(DLL)时失败了。这个库是 NVIDIA CUDA 运行时(runtime)的一部分,版本号 11.0。如果您在机器上安装了 NVIDIA 的 GPU 和相应的 CUDA 工具包,并且期望 TensorFlow 能够利用 GPU 加速,那么这个错误可能是因为以下几个原因造成的:
- CUDA 工具包没有正确安装或配置。
- TensorFlow 需要的 CUDA 版本与机器上安装的版本不匹配。
cudart64_110.dll
文件可能不在系统的 PATH 环境变量中,或者没有安装在 TensorFlow 预期的位置。第二条警告是TensorFlow 告诉你,如果你没有在机器上设置 GPU,那么可以忽略上面的
cudart
动态链接库错误。简而言之,如果你确实在机器上安装了 NVIDIA GPU 和 CUDA 工具包,并且希望 TensorFlow 能够利用 GPU 加速,那么你需要检查 CUDA 的安装和配置是否正确。如果你没有 GPU 或者不打算使用 GPU 加速,那么你可以忽略这个警告,TensorFlow 将会使用 CPU 进行计算。
如果你确实想使用 GPU 加速,并且遇到了这个问题,你可以尝试以下步骤:
- 确认你已经安装了正确版本的 CUDA 工具包。
- 确保
cudart64_110.dll
文件存在于你的系统中,并且其路径已经添加到了 PATH 环境变量中。- 验证 TensorFlow 的版本是否与你的 CUDA 版本兼容。有时,你需要安装特定版本的 TensorFlow 来匹配你的 CUDA 版本。
- 重启你的计算机,有时这可以解决 PATH 环境变量更新后的问题。
如果你只是想在 CPU 上运行 TensorFlow,那么你可以忽略这个警告,继续你的工作。
三.安装 tensorflow-GPU版本
1.为了不和其他环境冲突,我们重新创建一个虚拟环境
2.按照版本对应表中的版本,同样选择2.6版本的
3.在解决了和安装cpu时遇见的proto相同的问题后,可以导入Python包进行测试tensorflow-GPU是否能正常工作。
import tensorflow as tf
tf.config.list_physical_devices('GPU')
如果一切设置正确,可以看到下面的输出内容:
4.但是这里我报错了,报错如下:
解决方案如下:在此环境中重新安装 cuDNN 和 cudatoolkit
conda install cudnn -c conda-forge
conda install cudatoolkit -c anaconda
5.再次测试,成功!