Tensorflow 记录

环境配置

下面将提供两种环境安装,如果你在使用 python 时对其他 python版本 也有需要,则建议选择第一种方式(Anaconda环境)
如果没有其他版本和环境需求,旨在单纯学习 Tensorflow ,可以选择方式二,直接安装一个 python 在你的电脑上,需要注意方式二可能会占用 1-3G 的 C 盘空间来当作环境

本文中使用版本为 Tensorflow-2.5.0,若想安装其他版本可参考下面的编译配置表

环境配置
  1. Anaconda 官网下载 Anaconda3,将其安装在电脑上(建议勾选环境变量)

    这里直接使用 Anaconda3 自带的安装完成可以直接使用的 Anaconda Powershell prompt,在开始菜单即可找到

  2. Powershell prompt 中打开,稍等加载后,开头出现 (base) ,表面已进入默认环境

  3. 添加清华镜像源,提高各类 python 安装包的下载速度

    1
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  4. 此时可以开始创建一个环境

    1
    conda create -n tensorflow2.5 python==3.8 numpy==1.19.5 pandas matplotlib

    主要参数 conda create -n <环境名称(自定义)> <需要安装各类包,==可选择对应版本,默认最新>

  5. 激活环境,保证 prompt 前面的 (base) 切换为你的环境名称 (tensorflow2.5)

    1
    activate tensorflow2.5
  6. 在当前的开发环境下安装 Tensorflow

    1
    pip install tensorflow==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. Python 官网下载符合要求版本的 python,建议版本 python3.8

  2. 将其安装在电脑上,安装时建议勾选环境变量 (path) 与 pip 下载工具

  3. 直接使用 pip install 安装需要的包,可参考方式一安装

    1
    pip install <包名称,可选择对应版本> -i https://pypi.tuna.tsinghua.edu.cn/simple

如果你的显卡为 NVIDIA,且你希望选择用你的显卡来进行计算,则可以选择安装 GPU版本,两者并不冲突,但仍然建议你重新创建一个新的开发环境来安装它

1
pip install tensorflow-gpu==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
选装GPU版本的其他操作

安装好 GPU 版本后,你需要根据你电脑的显卡型号以及 Tensorflow 版本选择对应的 cuDNN和 CUDA 加速

  1. 安装显卡驱动

    在官网 NVIDIA Driver Downloads 下载对应的显卡驱动

    NVIDIA drivers

  2. 选择对应的 cuDNN 与 CUDA

    官方网站:

    CUDA Toolkit Archive

    NVIDIA cuDNN

    这里只说明一下 cuDNN 的安装,cuDNN 下载完成后为压缩包格式,解压后进行如下操作

cuDNN安装
  1. 解压后如下图所示

    cuDNN

  2. 将这三个目录复制到之前 CUDA 的安装目录下

    cuDNNcopy

  3. 配置环境变量

    将 CUDA 安装目录下的 /extras/CUPTI/lib64 这个目录添加到环境变量中去

    path

安装完成后进行测试是否能够使用,最后输出 exit() 退出 python 即可


1
2
3
4
conda activate tensorflow2.5
python
import tensorflow as tf
tf.__version__; tf.config.list_physical_devices('GPU')

testGPU

这里如果你使用的版本与我相同,我已将 cuDNN 与 CUDA 打包在云盘提供下载

由于阿里云盘限制分享压缩包格式,我将 cuDNN 压制成 EXE 自解压文件,解压即可使用

戳此处:阿里云盘链接

安装中可能遇到的问题

此处记录了安装中可能遇到的部分问题和对应解决方式,对于未记载的相关问题,可以通过邮件发送报错和截图,在找到解决方式后会在24小时内更新至文章中

  • 问题:

    pip安装时遇见版本依赖报错

    Error1

  • 原因:

    相关联的包安装的版本不对应导致错误,主要产生问题的包有 numpypandasmatplotlibtensorflow

  • 解决方式:

    安装对应的包版本,例如上面的报错,提示在安装完成 tensorflow 包后,pandas-1.5.3 版本需要 numpy 版本 >=1.20.3,但是我的 tensorflow-2.5.0 需要版本 1.19.5,为此这里我选择了降低 pandas 版本,第二条同理,如果你和我一样使用的版本为 tensorflow-2.5.0 ,可以同样适用

    卸载当前版本,安装对应版本

    1
    2
    3
    4
    pip uninstall pandas
    pip install pandas==1.4
    pip uninstall matplotlib
    pip install matplotlib==3.6.2
  • 问题:

    cudart64_110.dll 文件无法加载

    cudart64loaded

  • 原因:

    使用了部分特定版本或较为早期版本的tensorflow,其中缺失或无法加载此文件

  • 解决方式:

    正常情况下,此 DLL 文件安装完成后会出现在 CUDA 安装目录下的 bin 目录中,可以查看是否存在此文件,不存在则添加之,存在可以将其复制至 C:/Windows/System32 目录下,之后重新尝试或重启电脑后尝试

    这里如果你使用的版本与我相同,我已将 CUDA 中文件提出,打包在云盘提供下载

    戳此处:阿里云盘链接

这里什么都没有哦 …

Tensorflow配置表

此处整理了截至 tensorflow-2.11.0 以及之前的对应版本表,具体可访问 Tensorflow官网 来查看最新的版本配置

VersionPython versionCompilerBuild tools
tensorflow-2.11.03.7-3.10MSVC 2019Bazel 5.3.0
tensorflow-2.10.03.7-3.10MSVC 2019Bazel 5.1.1
tensorflow-2.9.03.7-3.10MSVC 2019Bazel 5.0.0
tensorflow-2.8.03.7-3.10MSVC 2019Bazel 4.2.1
tensorflow-2.7.03.7-3.9MSVC 2019Bazel 3.7.2
tensorflow-2.6.03.6-3.9MSVC 2019Bazel 3.7.2
tensorflow-2.5.03.6-3.9MSVC 2019Bazel 3.7.2
tensorflow-2.4.03.6-3.8MSVC 2019Bazel 3.1.0
tensorflow-2.3.03.5-3.8MSVC 2019Bazel 3.1.0
tensorflow-2.2.03.5-3.8MSVC 2019Bazel 2.0.0
tensorflow-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.1
tensorflow-2.0.03.5-3.7MSVC 2017Bazel 0.26.1
tensorflow-1.15.03.5-3.7MSVC 2017Bazel 0.26.1
tensorflow-1.14.03.5-3.7MSVC 2017Bazel 0.24.1-0.25.2
tensorflow-1.13.03.5-3.7MSVC 2015 update 3Bazel 0.19.0-0.21.0
tensorflow-1.12.03.5-3.6MSVC 2015 update 3Bazel 0.15.0
tensorflow-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.0
tensorflow-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.1.03.5MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.0.03.5MSVC 2015 update 3Cmake v3.6.3
VersionPython versionCompilerBuild toolscuDNNCUDA
tensorflow_gpu-2.11.03.7-3.10MSVC 2019Bazel 5.3.08.111.2
tensorflow_gpu-2.10.03.7-3.10MSVC 2019Bazel 5.1.18.111.2
tensorflow_gpu-2.9.03.7-3.10MSVC 2019Bazel 5.0.08.111.2
tensorflow_gpu-2.8.03.7-3.10MSVC 2019Bazel 4.2.18.111.2
tensorflow_gpu-2.7.03.7-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.6.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.5.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.4.03.6-3.8MSVC 2019Bazel 3.1.08.011.0
tensorflow_gpu-2.3.03.5-3.8MSVC 2019Bazel 3.1.07.610.1
tensorflow_gpu-2.2.03.5-3.8MSVC 2019Bazel 2.0.07.610.1
tensorflow_gpu-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.17.610.1
tensorflow_gpu-2.0.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.15.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.14.03.5-3.7MSVC 2017Bazel 0.24.1-0.25.27.410
tensorflow_gpu-1.13.03.5-3.7MSVC 2015 update 3Bazel 0.19.0-0.21.07.410
tensorflow_gpu-1.12.03.5-3.6MSVC 2015 update 3Bazel 0.15.07.29.0
tensorflow_gpu-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.079
tensorflow_gpu-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.1.03.5MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.0.03.5MSVC 2015 update 3Cmake v3.6.35.18