一、Anaconda 安装
无论是cpu版本还是gpu版本,都建议先安装Anaconda,在该环境下安装
见博客 Anaconda 与 Pycharm 间的安装和链接
二、安装 TensorFlow-CPU
1、配置环境
打开 Anaconda Prompt(直接电脑左下角搜索)
# 1.查看有哪些可安装的python版本
conda search --full-name python
# 2.创建新环境
conda create --name tensorflow python=3.6.2
# 如果想删除环境采用以下操作
# conda remove -n your_env_name(虚拟环境名称) --all
中间可能会因为网络问题中断,可以重试几次
根据提示,进行激活
# 3.激活
activate tensorflow
# 4.查看是否成功
conda info --envs
3.4.两步可以用于以后想要切换环境的时候。
发现环境激活成功,查看版本,python版本已经成为3.6.2
2、安装 Tensorflow
(依次运行命令)
# 1.安装
pip install tensorflow
# 2.在python中导入包(如果没报错说明安装成功)
import tensorflow as tf
三、安装TensorFlow-GPU
- Windows 10 64bit 家庭中文版版
- GPU: GeForce GTX 1050 Ti
- Python: 3.6.2
- 显卡驱动:471.68
- CUDA: CUDA Toolkit 11.4
- cuDNN: cuDNN v8.2.2
1、是否可安装GPU版Tensorflow
查看自己的电脑是否可以安装GPU版本。
(1)方法一:查看算力
打开 系统 - 设备管理器 - 显示适配器【可以直接左下角搜索设备管理器】
【想跑深度学习建议购买NVDIA(英伟达)的显卡而不是AMD】
接下来查看电脑显卡型号是否支持CUDN【一般需要计算能力>3.5】
官方版本和算力查看链接:https://developer.nvidia.com/zh-cn/cuda-gpus
查看自己的产品和对应版本的算力,如我的算力为 6.1
(2)方法二:Google搜索
用谷歌搜索“GPU型号+SPECIFICATION”,在官网查它是否支持CUDA
2、安装显卡驱动
官方驱动链接:https://www.nvidia.com/Download/index.aspx?lang=en-us
- 到该网址搜索适合自己型号的驱动并下载
【注意GTX不一定在GTX系列里,如我的GTX 1050 Ti 是在GeForce 10 Series中。】
下载界面
- 安装完成后可以重启一下电脑
- 顺便看一下自己的版本,我的是471.68
3、创建虚拟环境
与cpu安装类似,我们新建一个虚拟环境
# 1.查看有哪些可安装的python版本
# conda search --full-name python
# 2.创建新环境
conda create --name tensorflow-gpu python=3.6.2
# 如果想删除环境采用以下操作
# conda remove -n your_env_name(虚拟环境名称) --all
# 3.激活
activate tensorflow-gpu
# 4.查看是否成功
conda info --envs
4、安装Tensorflow、CUDA、cuDNN
(1)CUDA版本选择
- 方法一
CUDA的版本依赖于显卡的驱动程序版本
官方参考链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
前面提到我的驱动版本是471.68,因此可以安装CUDA 11.4
- 方法二
安装完NVDIA后,打开NVIDIA控制面板→帮助→系统信息→组件,发现最高支持11.4的CUDA,和方法一的结果一致
(2)cuDNN、TensorFlow 版本选择
官方参考链接:https://tensorflow.google.cn/install/source_windows#gpu
到官方查看。对应CUDA 11,发现可以安装cuDNN 8和 tensorflow_gpu-2.4.0
(3)方法一:安装包安装
-
CUDA下载链接:https://developer.nvidia.com/cuda-toolkit-archive
- 选择对应版本
- 在环境变量中加入以下几个路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\lib\x64
- 测试是否安装完成
# 控制台输入 nvcc -V
有信息弹出说明安装完成,版本为v11.4
-
cuDNN下载链接:https://developer.nvidia.com/zh-cn/cudnn
- cuDNN下载需要进行登录
- 解压刚下载的cuDNN压缩包并复制文件
下载的压缩包里有如下内容,解压得到
复制到CUDA的安装目录(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4)下。
-
安装Tensorflow
pip install tensorflow-gpu==2.4.0
(3)方法二:conda 安装(未尝试)
# 在tensorflow-gpu的虚拟环境中安装
# 1.安装CUDA
conda install cudatoolkit==11.4.1
# 2.安装cuDNN
conda install cudnn==8.0
# 3.安装TensorFlow
pip install tensorflow-gpu==2.4.0
参考链接:2021年Windows下安装GPU版本的Tensorflow和Pytorch
5、测试
# 进入python
import tensorflow as tf
print(tf.test.is_gpu_available())
若输出true说明gpu版tensorflow安装成功
【如果报错,比如缺失某dll文件,或者Cannot dlopen some GPU libraries,见 解决:运行 tensorflow-gpu相关代码报错/缺少dll文件(无需修改tensorflow版本)】
四、安装 Pytorch
-
除了pytorch,还有一个很好用的包是torchvision,用于图像相关的功能
-
torch和torchvision的版本对应关系如下链接
https://github.com/pytorch/vision -
到该链接找到可用的torch和torchvision版本
https://download.pytorch.org/whl/torch_stable.html
- cu110即cuda11.0版本,cp36即python3.6版本,下载与自己需求对应的whl文件
- 由于torch是1.7.1,所以torchvision使用0.8.2
- 安装并运行
# 1.创建新环境
conda create --name torch-gpu python=3.6.2
# 2.查看是否成功
conda info --envs
# 3.激活
activate torch-gpu
# 4.安装torch
pip install torch-1.7.1+cu110-cp36-cp36m-win_amd64.whl
# 使用镜像
# pip install xx -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
# pip install D:\SoftWare\Anaconda3\torch-1.7.1+cu110-cp36-cp36m-win_amd64.whl
# conda install pytorch torchvision torchaudio cudatoolkit=11.4 -c pytorch -c conda-forge
# 5.安装torchvision
pip install torchvision-0.8.2+cpu-cp36-cp36m-win_amd64.whl
# 5.进入python测试
import torch
print(torch.cuda.is_available())
这里可能出现两个报错,附上解决链接【该链接含其他镜像的链接】
参考链接:
cuda pytorch torchvision版本对应问题
五、测试
1、测试代码
官方快速入门教程:初学者的 TensorFlow 2.0 教程
在python中运行以下代码
# 导入tensorflow
# 这里如果报错 Could not load dynamic library 'cudart64_110.dll',见问题小结
import spicy
import tensorflow as tf
# 准备数据集和数据处理
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
# 搭建模型
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
# 选择优化器和损失函数
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练并验证
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
2、查看显卡利用率
# 简单查看
nvidia-smi
# 每2秒刷新
nvidia-smi -l 1
六、问题小结
1、pip 时 ‘utf-8’ codec can’t decode byte
在 pip install imread 的过程中遇到了这个问题
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 13: invalid start byte
解决方案见 解决:‘utf-8’ codec can’t decode byte(本质是from scipy.misc import imread问题)
2、导入 tensorflow 时报错 Could not load dynamic library ‘cudart64_110.dll’
在运行 import tensorflow 报了以下错误
2021-08-20 10:30:43.560405: W
tensorflow/stream_executor/platform/default/dso_loader.cc:64]
Could not load dynamic library 'cudart64_110.dll';
dlerror: cudart64_110.dll not found
解决方案见 解决: 导入tensorflow时报错 Could not load dynamic library ‘cudart64_110.dll‘
3、运行 tensorflow-gpu相关代码报错/缺少dll文件
有以下的错误提示
2021-08-20 12:44:12.846291: W tensorflow/stream_executor/platform/default/dso_loader.cc:60]
Could not load dynamic library 'cusolver64_10.dll';
dlerror: cusolver64_10.dll not found
2021-08-20 12:42:42.534915: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1757]
Cannot dlopen some GPU libraries.
Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU.
Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
解决方案见 解决:运行 tensorflow-gpu相关代码报错/缺少dll文件(无需修改tensorflow版本)
参考链接:
win7系统中使用anaconda安装tensorflow,keras
anaconda3在创建虚拟环境中途出错,想要删掉,如何删彻底|anaconda文件夹下的pkgs和envs|conda瘦身|conda clean
Win10上安装Keras 和 TensorFlow(GPU版本)
查看本机显卡配置是否支持安装gpu版本的tensorflow
WIN10安装TENSORFLOW(GPU版本)详解(超详细,从零开始)
(视频)2021年windows下安装GPU版本的Tensorflow和Pytorch
根据显卡型号选择CUDA和cuDNN进行TensorFlow GPU版本安装