提示:看此文章 大前提需要拥有NVIDIA的显卡
个人安装顺序:VS部分组件=>CUDA=>CuDNN=>python=>tensorflow-gpu


文章目录

  • 前言
  • 系统环境
  • 准备
  • 如何查询NVIDIA算力
  • 1、安装VS组件、CUDA
  • 使用conda创建虚拟环境
  • 二、使用pycharm测试代码
  • 1.安装matplotlib
  • 2.使用pycharm测试代码
  • 总结
  • 参考链接



前言

笔者有最新的安装TensorFlow-gpu-2.6的文章,TensorFlow-gpu-2.6详细安装强烈推荐看这篇笔者最新的文章!!!!

大前提:你需要拥有NVIDIA的显卡

系统环境

我用的是笔记本电脑
系统:Windows10 显卡:GTX 1050Ti 算力6.1(下边会讲到如何查询显卡算力)
软件:anaconda

准备

需要安装anaconda
若未安装或未曾使用过anaconda,请参考anaconda入门

如何查询NVIDIA算力

首先清楚自己的显卡类型Ctrl + Shift + ESC打开任务管理器,接着点击性能,按照图片所示就清楚显卡

PS:显卡的算力影响你能安装哪一些tensorflow-GPU的版本(如果算力3.5以上基本没什么问题)

各类GPU的算力大小 gpu算力怎么看_pycharm

NVIDIA显卡算力官网查询 进官网之后,要点击如下图,即可查看自己的显卡算力

PS:我的是笔记本电脑,所以看的是Notebook那一列的,如果是台式可以参考左边的。个人认为左边或者右边都可以参考

各类GPU的算力大小 gpu算力怎么看_CUDA_02


以下安装为我成功运行的版本,TensorFlow-gpu2.1直接查看最新的安装方式最好

笔者已经更新了最新安装TensorFlow-gpu-2.6的文章,详细安装过程可以参考TensorFlow-gpu-2.6安装过程强烈推荐看这篇笔者最新的文章!!!!

1、安装VS组件、CUDA

VS官网CUDA官网下载地址

进入VS官网,打开VS安装程序(本人安装的是tensorflow-gpu-2.6,因此对应安装VS2019的部分组件
PS:不需要安装完整的VS,只是需要VS的部分组件

具体是C++ 2019可在发行程序包以及VS 2019 C++ 生成工具,如下图

各类GPU的算力大小 gpu算力怎么看_windows_03

各类GPU的算力大小 gpu算力怎么看_python_04

一定要安装对版本,尤其是VS组件,才能成功安装CUDAcuDNN先安装VS组件,后安装CUDAcuDnn

使用conda创建虚拟环境

PS:以下很多场合用到conda命令,若不会请参考anaconda入门,也可能会给conda换源,若不会请参考pip换源 conda换源

Win + R输入cmd

1.安装CUDA

输入命令conda create -n tf-gpu-2.1 cudatoolkit=10.1 # 创建一个名为tf-gpu-2.1的虚拟环境

回车以上命令之后,记得输入y然后回车[Enter]

需要的是CUDAcudatoolkit,因此先安装了它cudatoolkit=10.1

2.进入环境

输入命令activate tf-gpu-2.1 # 进入tf-gpu-2.1的虚拟环境

3.安装cuDNN

输入命令conda install cudnn=7.6 # 使用conda命令安装python3.7

使用conda命令安装。回车以上命令之后,记得输入y然后回车[Enter]

4.安装对应的python

输入命令conda install python=3.7 # 使用conda命令安装python3.7

使用conda命令安装。回车以上命令之后,记得输入y然后回车[Enter]

5.安装对应的TensorFlow-GPU

最关键的一步,这次用的是pip命令安装 TensorFlow-gpu !!!!!
可能需要为pip命令换源,若不会换源,请参考pip换源 conda换源

输入命令pip install tensorflow-gpu==2.1.0

PS:在安装过程中,会安装很多关联的包,等待安装完成即可

6.测试TensorFlow-GPU

在当前环境下,输入python,回车[Enter]

各类GPU的算力大小 gpu算力怎么看_windows_05

输入以下命令import tensorflow as tf

接着输入tf.test.is_gpu_available()

各类GPU的算力大小 gpu算力怎么看_windows_06

以上代码会显示显卡型号显卡算力以及是否可用,若为True,则说明可用。


二、使用pycharm测试代码

1.安装matplotlib

1.进入环境

输入命令activate tf-gpu-2.1 # 进入tf-gpu-2.1的虚拟环境

2.安装matplotlib

输入命令pip install matplotlib

若需要换源,请参考pip换源 conda换源

2.使用pycharm测试代码

如果使用pycharm,如何关联conda创建的虚拟环境请参考anaconda入门

测试代码如下

import tensorflow as tf
import timeit
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号


# 以矩阵A[1,n]和矩阵B[n,1]的乘法运算(分别在cpu和gpu上运行)来测试:
def cpu_run(num):
    with tf.device('/cpu:0'):  # 指定操作:用cpu计算
        cpu_a = tf.random.normal([1, num])
        cpu_b = tf.random.normal([num, 1])
        c = tf.matmul(cpu_a, cpu_b)  # 矩阵乘法,此操作采用cpu计算
    return c


def gpu_run(num):
    with tf.device('/gpu:0'):  # 指定操作:用gpu计算
        gpu_a = tf.random.normal([1, num])
        gpu_b = tf.random.normal([num, 1])
        c = tf.matmul(gpu_a, gpu_b)  # 矩阵乘法,此操作采用gpu计算
    return c


k = 10
m = 7
cpu_result = np.arange(m, dtype=np.float32)
gpu_result = np.arange(m, dtype=np.float32)
x_time = np.arange(m)

for i in range(m):
    k = k * 10
    x_time[i] = k
    cpu_str = 'cpu_run(' + str(k) + ')'
    gpu_str = 'gpu_run(' + str(k) + ')'

    # 计算10次,取平均时间
    cpu_time = timeit.timeit(cpu_str, 'from __main__ import cpu_run', number=10)
    gpu_time = timeit.timeit(gpu_str, 'from __main__ import gpu_run', number=10)
    cpu_result[i] = cpu_time
    gpu_result[i] = gpu_time

print(cpu_result)
print(gpu_result)

fig, ax = plt.subplots()
ax.set_xscale("log")
ax.set_adjustable("datalim")
ax.plot(x_time, cpu_result, color='#005FDD', alpha=0.8, linewidth=1, label='C P U')
ax.plot(x_time, gpu_result, color='#47AC3A', alpha=0.8, linewidth=1, label='G P U')
ax.grid()
plt.legend(loc="upper right")
plt.title("CPU和GPU运行对比")
plt.xlabel('计算量')
plt.ylabel('时间')
plt.draw()
plt.show()

运行结果如下图


各类GPU的算力大小 gpu算力怎么看_python_07


总结

如果需要安装官方测试过的最新的TensorFlow-gpu-2.6,可以参考最新的安装教程win10安装TensorFlow-gpu-2.6


参考链接

tensorflow官方文档conda安装tensorflow官方文档 NVIDIA显卡算力官网查询Tensorflow-gpu安装超详细!!!