查看显卡驱动程序版本和cuda版本
https://tensorflow.google.cn/install/source_windows?hl=en#gpu
win键输入NVIDIA 点击系统信息 查看驱动版本 再点击组件 查看cuda版本
因为我的设备驱动为517,cuda为11.7
所以可以选择tf2.10.0 python选择3.9 cudnn为8.1 cuda为11.2(tf2.11.0只有linux版本)
使用官方源 使用流量开热点成功率高
conda install -c conda-forge cudatoolkit=11.2
conda install -c conda-forge cudnn=8.1
https://pypi.org/project/tensorflow/2.10.0/#modal-close
下载TensorFlow的whl下载文件 不使用在线安装(使用pip出现安装错误问题,缺少一些文件)
先cd进入whl文件所在位置
pip install xxx(文件名)
测试是否安装成功
import tensorflow as tf
import timeit
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 这里就当是先给gpu热热身了
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)