win10+1050Ti+tensorflow-gpu2.2.0+cudatoolkit10.1+cudnn7.6.5配置Tensorflow-gpu框架(无须本地安装cuda+cudnn)

避坑安装Tensorflow-gpu

  • 安装心理路程(吐槽)
  • 安装环境选择
  • 安装过程详解
  • 测试

安装心理路程(吐槽)

  历时两天时间,终于将Tensorflow-gpu安装成功, 期间观看不下于50篇的博客,也尝试多种的安装方法,其中电脑驱动就来回捣鼓数次,然后就是cuda和cudnn下载了多个版本,现在后悔它们都没用了,还有Python的版本问题也捣鼓了许久,呜呜呜(心疼手机流量)…最后我重装的系统,将win10的企业版换成了专业版,专业版一次成功,但应该和电脑系统没啥关系…个人猜测
  虽然失败了很多次,期间也想过放弃,使用CPU跑,但笔记的cpu跑深度学习,大规模数据和复杂网络结果出的真的慢,还是GPU香,废话不多说了,开干…
总结目前安装tensorflow-gpu主要是两种途径:
① 直接本地安装(cuda+cudnn,不推荐,如何第一次没成功卸载特别难受)
② 利用conda安装(cudatoolkit+cudnn,推荐,贼舒服)

安装环境选择

使用群体:使用win10的进行深度学习的同学,安装ubuntu(linux)的同学可以不用看了

  1. 整个环境的介绍:
    ① 安装Anaconda3:目的创建虚拟环境
    ② vscode:进行Python code,方便
    ③ 框架: Tensorflow

  2. 版本选择:
    ① NVIDIA显卡驱动:可以为最新
    ② Anaconda3: 直接最新版,Anaconda3支持python版本向下兼容
    ③ vscode:直接最新版
    ④ python环境:python 3.7(这个待会创建虚拟环境会设置)
    ⑤ cudatoolkit版本:10.1(重点)
    ⑥ cudnn版本:7.6.5(重点)
    ⑦ tensorflow-gpu:2.2.0

  3. 补充说明
    ① 官网说tensorflow2.1版本后tensorflow中包含GPU,但我没有试过,我安装仍然是tensorflow-gpu,感兴趣可以重创环境试下
    tensorflow-gpu和cudatoolkit和cudnn版本要对应,否则会出现意想不到的错误,下图是目前的最新版本对应:
    win10+1050Ti+tensorflow-gpu2.2.0+cudatoolkit10.1+cudnn7.6.5配置Tensorflow-gpu框架(无须本地安装cuda+cudnn)_第1张图片

    查询Tensorflow版本对应的: tensorflow官方技术文档
    ③ 注意自己的电脑驱动支持的cuda版本,查看到支持版本一定大于等于将下载的版本:
    win10+1050Ti+tensorflow-gpu2.2.0+cudatoolkit10.1+cudnn7.6.5配置Tensorflow-gpu框架(无须本地安装cuda+cudnn)_第2张图片
    上图中,表明我的电脑驱动版本为457.20,支持的最高版本的cuda为11.1(也就是我能安装的cuda不能高于11.1,如果想装更高的版本cuda,可以到官网下载驱动,更新自己的驱动)

安装过程详解

在这里插入图片描述
贴下我的配置依据

  1. 安装Anaconda3
  2. 更新下自己的conda的默认镜像源
  3. 创建虚拟环境:

conda create -n tensorflow2.2(名字,可修改) python=3.7
conda env list # 查存在的环境
conda activate tensorflow2.2 #进入虚拟环境

  1. 安装tensorflow-gpu2.2.0版本,使用pip安装,采用豆蔻镜像

pip install tensorflow-gpu==2.2.0 -i https://pypi.douban.com/simple/

  1. 安装cudatoolkit10.1+cudnn7.6.5

conda install cudatoolkit=10.1 cudnn=7.6.5

至此安装工作结束,推荐大家完全按照上述指令在cmd中进行操作,等成功后可尝试其他版本。

测试

  1. 查看是否安装成功,是够存在GPU
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

win10+1050Ti+tensorflow-gpu2.2.0+cudatoolkit10.1+cudnn7.6.5配置Tensorflow-gpu框架(无须本地安装cuda+cudnn)_第3张图片
2. 测试GPU是否能运行

import tensorflow as tf
import timeit
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'  # 代码用于忽略级别 2 及以下的消息(级别 1 是提示,级别 2 是警告,级别 3 是错误)。

with tf.device('/cpu:0'):
    cpu_a = tf.random.normal([10000, 1000])
    cpu_b = tf.random.normal([1000, 2000])
    print(cpu_a.device, cpu_b.device)
with tf.device('/gpu:0'):
    gpu_a = tf.random.normal([10000, 1000])
    gpu_b = tf.random.normal([1000, 2000])
    print(gpu_a.device, gpu_b.device)
def cpu_run():
    with tf.device('/cpu:0'):
        c = tf.matmul(cpu_a, cpu_b)
    return c
def gpu_run():
    with tf.device('/gpu:0'):
        c = tf.matmul(gpu_a, gpu_b)
    return c
# warm up
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('warmup:', cpu_time, gpu_time)

cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('run time:', cpu_time, gpu_time)

print('GPU', tf.test.is_gpu_available())

运行结果:
warmup: 1.0394134999999993 0.2286729000000003
run time: 1.0295364999999999 0.0005075000000003271
GPU True
通过运行时间可以看出,说明tensorflow-gpu安装成功

祝大家都能成功,享受tensorflow-gpu的快乐!!!!!

你可能感兴趣的:(软硬件配置操作,tensorflow,python,深度学习)