2022 年 5 月更新 Win10 相关内容:
经过 1 年多的实际使用,认为还是 Anaconda 最为方便,并且便于在 Win10 环境下使用。
使用 Anaconda 的主要好处在于,能够轻松安装多个虚拟环境,比如 TensorFlow 2.9,TensorFlow 2.8 等等。使用时可以根据需要,自由地切换不同版本。
例如在 Win10 中,之前使用 TF 2.8,现在要在 Anaconda 中新装一个 TF 2.9 的虚拟环境,运行 conda create -n tf2.9 python=3.10 即可,只需要几分钟就可以完成。
安装好虚拟环境之后,还可以使用一个便捷的方法来安装其它软件,4 个步骤如下:
-
在 Anaconda Prompt 中,激活新建的环境,例如 activate tf2.9 。
-
进入到一个自己指定的文件夹目录,如 cd “d:\some_folder”。
-
在该文件夹 some_folder 中创建一个文本文件,命名为 “requirements.txt”。并在其中写好要安装的软件名称,如下图(还可以指定版本号)。
-
运行 pip install -r requirements.txt ,即可自动安装 requirements 中的所有软件。
显卡驱动,Cuda 和 Cudnn 这 3 者都应该安装在系统环境中。并且实际使用时发现,在 Win10 中,显卡驱动可以直接使用最新版,而 Cuda 和 Cudnn,则还是根据 TensorFlow 的建议,进行版本匹配。
→和 TensorFlow 匹配的版本链接
以下为 2021 年 1 月的 Ubuntu 相关内容:
配置如标题,5个安装步骤如下。
- 安装Ubuntu 20.04,不要安装显卡驱动。
- 安装Cuda 11.0.2,不要设置PATH环境变量。
- 安装Cuda 11.1.1,设置PATH环境变量和LD_LIBRARY_PATH变量。
- 安装CuDNN 8.05.
- 安装TensorFlow 2.4.
安装完成后可在系统环境下运行,无须虚拟环境。下面是各个步骤的一些细节:
-
安装Ubuntu系统的目的是提供干净的安装环境。如果不想重装Ubuntu系统,可以尝试先删除老的Cuda和Nvidia驱动。而不装显卡驱动的原因,是因为到第三步装Cuda11.1时,会自动安装对应的显卡驱动455.32.
-
第二步是安装Cuda 11.0。
2.1 装Cuda 11.0.2 的原因,是要使用它的libcusolver.so.10文件。如果只装Cuda 11.1,会缺少该文件。
2.2 建议先用迅雷下载好Cuda和Cudnn,下载速度飞快。 注意下载deb文件,这样才会有验证用的samples,可以验证Cuda的安装是否成功。
2.3 先按照英伟达官方的安装指导文件 https://docs.nvidia.com/cuda/archive/11.0/cuda-installation-guide-linux/index.html,执行第二步“Pre-installation Actions”。
2.4 然后安装Cuda,按照如下链接的步骤安装。其中第三步wget是下载deb文件,如果已经用迅雷下载好,则可以跳开下载这个步骤。https://developer.nvidia.com/cuda-11.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=deblocal -
第三步是安装Cuda 11.1.1
3.1 安装Cuda 11.1的原因,是因为 3090显卡需要使用 455的显卡驱动,而455的显卡驱动需要配合 Cuda 11.1使用。虽然英伟达官方文件说可以用在450的驱动下,但我安装后发现实际上用不了。可能Ampere架构的3080, 3070显卡都会有这个问题。
3.2 Cuda11.1安装方法和Cuda11.0基本相同。只是deb文件包名字不同。可以使用这个地址 https://developer.nvidia.com/cuda-11.1.1-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=deblocal
3.3 Cuda 11.1安装好后,设置PATH环境变量 export PATH=/usr/local/cuda-11.1/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}。为了保持长期有效,可以写入一个脚本文件。比如我会创建 /etc/profile.d/myprofile.sh ,在此sh文件内写入,如下图。
3.4 把libcusolver.so.10文件复制到libcusolver.so.11所在的文件夹(用搜索功能可以找到)。设置变量 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64 。如果想验证这个文件缺失的问题,可以先不复制这个文件。等到TensorFlow 安装好后,如果运行发现报缺失libcusolver.so.10这个文件,再做这一步复制操作也可以。
3.5 安装好后,重启让环境变量生效。重启后用 echo $PATH 验证变量设置成功。
3.6 如果要验证Cuda安装是否成功,需要装几个第三方库。可以参照英伟达安装指导文件的 9.3.1操作。然后参照这个帖子: https://blog.csdn.net/weixin_43981221/article/details/90339337 ,从她的帖子“运行例子”几个字之后开始执行,安装成功的话,会有一个火球的动画。 -
CuDNN的安装比较简单。下载配合Cuda11.1的CuDNN 8.05,共3个deb文件。按照官方指导cuDNN Installation Guide,https://docs.nvidia.com/deeplearning/cudnn/install-guide/#installdriver 执行指导文件里的步骤 2.3.2,解压安装3个deb安装包即可。如果要验证安装是否成功,再执行步骤 2.4 。
-
TensorFlow 2.4的安装,按照官方指导基本没问题 https://tensorflow.google.cn/install。用如下命令验证安装是否成功,python3 -c
“import tensorflow as tf;
print(tf.reduce_sum(tf.random.normal([1000, 1000])))”
正常的话,最后几行会提示找到显卡的信息,以及显卡的算力为8.6。最后一行返回一个 0D的张量。
BTW:目前 TensorFlow和 Cuda的安装使用体验是很糟糕的。希望国内有公司能开发出更好的框架,让大家用得舒服。