win10 +Tensorflow-gpu环境搭建(cuda10.1+python3.8+tensorflow2.3.1)
1、准备工作
首先我们要确定电脑所能支持的tensorflow版本,根据tensorflow官网所给配置,我们要去检查电脑gpu的cuda支持版本,再去对应下载python版本和tensorflow版本。
右键桌面>NVIDIA控制面板>帮助>系统信息>组件
上图说明我的显卡所支持的cuda版本为11.1(向下兼容)
官网配置截图
cuda安装
由于tensorflow最高版本对应的是cuda10.1版本,那我们下载cuda10.1就可以
到英伟达官网下载cuda(注意:电脑上一开始没有配置cuda,以上只是在查版本,所以要去下载)https://developer.nvidia.com/cuda-toolkit-archive
点击CUDA Toolkit 10.1
下载完后安装,自定义安装,地址默认即可
记下安装的路径(配置环境用得到)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
cuDNN安装
登录英伟达官网https://developer.nvidia.com/rdp/cudnn-download
下载完后将解压文件夹中的三个文件夹全部复制进cuda安装目录下,没有文件会覆盖
cuda+cuDNN环境配置
系统应该自动添加了以下环境变量
以及
我们需要在path中额外添加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64
- 1
- 2
- 3
- 4
win+R cmd 中输入
nvcc -V
- 1
python安装
win+R cmd 中输入
python
系统原先没有的话,会弹出window应用商店提供安装(一般是python3.8版本)
2、Tensorflow 安装
tensorflow的安装需要很多依赖库,为了方便依赖库的安装,直接用Anaconda的环境
Anaconda安装
下载地址:https://www.anaconda.com/products/individual
安装好后配置环境,在path中添加
D:\Software\Anaconda3\Scripts
D:\Software\Anaconda3\Library\bin
D:\Software\Anaconda3
TensorFlow安装
打开Anaconda Powershell Prompt,在Anaconda的终端下输入
conda activate tensoflow-gpu
- 1
创建环境,环境名为tensoflow-gpu
接着输入
pip install -U tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple
- 1
通过清华源下载tensorflow,当然没有版本限制的话直接下的是2.3.1的最新版本,若选择版本则添加版本限定
pip install -U tensorflow-gpu==2.3.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 1
下载完后我们进行测试tensorflow的GPU版本是否安装成功
输入ipython进入ipython交互式终端,再输入命令
import tensorflow as tf
- 1
没有报错继续输入,测试GPU是否可用
tf.test.is_gpu_available()
- 1
如果为true,则TensorFlow GPU版本安成功
可用以下命令查看tensorflow版本号
tf.__version__
- 1
退出ipython交互式终端
exit()
- 1
顺便安装python常用库
python -m pip install -U numpy matplotlib pillow pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
- 1
退出tensoflow-gpu环境
conda deactivate
- 1
完成
测试
进入环境conda activate tensoflow-gpu>ipython>粘贴测试代码
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
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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
输出
3、TensorFlow IDE(集成开发环境)
推荐使用PyCharm(免费)
下载官方网址:https://download.jetbrains.com/python/pycharm-professional-2020.2.3.exe
下载安装后点击右下角设置
ok,然后apply
新建
运行测试程序(!!!注意:不要在anaconda终端环境没有退出的情况下在pycharm运行,不然会报错显存不足,failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED)
OK
如有错误,欢迎指正