一、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

image-20210819150523572

中间可能会因为网络问题中断,可以重试几次

根据提示,进行激活

# 3.激活
activate tensorflow
# 4.查看是否成功
conda info --envs

在这里插入图片描述

3.4.两步可以用于以后想要切换环境的时候。

发现环境激活成功,查看版本,python版本已经成为3.6.2

image-20210819150558820

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)方法一:查看算力

打开 系统 - 设备管理器 - 显示适配器【可以直接左下角搜索设备管理器】

image-20210819215830405

【想跑深度学习建议购买NVDIA(英伟达)的显卡而不是AMD】

接下来查看电脑显卡型号是否支持CUDN【一般需要计算能力>3.5】

官方版本和算力查看链接:https://developer.nvidia.com/zh-cn/cuda-gpus

查看自己的产品和对应版本的算力,如我的算力为 6.1

image-20210819224101751

image-20210819224138012

image-20210820105134773

(2)方法二:Google搜索

用谷歌搜索“GPU型号+SPECIFICATION”,在官网查它是否支持CUDA

2、安装显卡驱动

官方驱动链接:https://www.nvidia.com/Download/index.aspx?lang=en-us

  • 到该网址搜索适合自己型号的驱动并下载

【注意GTX不一定在GTX系列里,如我的GTX 1050 Ti 是在GeForce 10 Series中。】

image-20210820105925533

下载界面

image-20210820110005992

  • 安装完成后可以重启一下电脑
  • 顺便看一下自己的版本,我的是471.68

image-20210820110237948

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

image-20210820111626031

前面提到我的驱动版本是471.68,因此可以安装CUDA 11.4

  • 方法二

安装完NVDIA后,打开NVIDIA控制面板→帮助→系统信息→组件,发现最高支持11.4的CUDA,和方法一的结果一致

image-20210820113015758

(2)cuDNN、TensorFlow 版本选择

官方参考链接:https://tensorflow.google.cn/install/source_windows#gpu

到官方查看。对应CUDA 11,发现可以安装cuDNN 8和 tensorflow_gpu-2.4.0

image-20210820112021292

(3)方法一:安装包安装

  • CUDA下载链接:https://developer.nvidia.com/cuda-toolkit-archive

    • 选择对应版本

    image-20210820113423531

    • 在环境变量中加入以下几个路径
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\lib\x64
    
    • 测试是否安装完成
    # 控制台输入
    nvcc -V
    

image-20210820121152781

​ 有信息弹出说明安装完成,版本为v11.4

  • cuDNN下载链接:https://developer.nvidia.com/zh-cn/cudnn

    • cuDNN下载需要进行登录

    image-20210820122446764

    • 解压刚下载的cuDNN压缩包并复制文件

    下载的压缩包里有如下内容,解压得到

    image-20210820122730800

    复制到CUDA的安装目录(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4)下。

    image-20210820122816179

  • 安装Tensorflow

pip install tensorflow-gpu==2.4.0

image-20210820123053304

(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

image-20210820165811771
在这里插入图片描述

  • 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())

image-20210820170053948

这里可能出现两个报错,附上解决链接【该链接含其他镜像的链接】

Could not find a version that satisfies the requirement xxx(from versions: ) 和 PermissionError: [Errno 13] Permission denied

参考链接:

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)

image-20210820104340322

2、查看显卡利用率

# 简单查看
nvidia-smi
# 每2秒刷新
nvidia-smi -l 1

image-20210820132616581

六、问题小结

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版本)详解(超详细,从零开始)

环境搭建04——如何选择安装的TensorFlow版本?

(视频)2021年windows下安装GPU版本的Tensorflow和Pytorch

根据显卡型号选择CUDA和cuDNN进行TensorFlow GPU版本安装

2021年Windows下安装GPU版本的Tensorflow和Pytorch

解决torch.cuda.is_available()返回结果为False

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐