TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)


Posted in Python onJune 22, 2020

记录一下安装win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5

之前已经安装过pycharm、Anaconda以及VS2013,因此,安装记录从此后开始

总体步骤大致如下:

1、确认自己电脑显卡型号是否支持CUDA(此处有坑)

TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)

此处有坑!不要管NVIDIA控制面板组件中显示的是CUDA9.2.148。

你下载的CUDA不一定需要匹配,尤其是CUDA9.2,最好使用CUDA9.0,我就在此坑摔的比较惨。

2、下载CUDA以及cuDNN,注意版本对应①查看版本匹配:

②查看TensorFlow和Keras版本:

import tensorflow as tf
from tensorflow.keras import layers
print(tf.VERSION)
print(tf.keras.__version__)

输出:

1.12.0
2.1.6-tf

7、在pycharm中调用tensorflow,

并查验tensorflow是否能够调用gpu做运算

①在PyCharm中新建Project

②进入中Existing interpreter右侧浏览目录

③在Interpreter右侧浏览目录中找到自己安装Anaconda的路径,在其中的envs文件夹中,有上文中自己创建的tensorflow-gpu环境,选中其中python.exe即可。

TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)

TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)

④在pycharm中查验tensorflow是否能够调用gpu做运算查验tensorflow是否能够调用gpu做运算:

创建一个.py文件,用TensorFlow,来比较一下CPU和GPU的时间差异:

例子来源:https://zhuanlan.zhihu.com/p/58607298

import tensorflow as tf
import timeit
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
 
# See https://www.tensorflow.org/tutorials/using_gpu#allowing_gpu_memory_growth
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
 
with tf.device('/cpu:0'):
 random_image_cpu = tf.random_normal((100, 1000, 100, 3))
 net_cpu = tf.layers.conv2d(random_image_cpu, 32, 7)
 net_cpu = tf.reduce_sum(net_cpu)
 
with tf.device('/gpu:0'):
 random_image_gpu = tf.random_normal((100, 1000, 100, 3))
 net_gpu = tf.layers.conv2d(random_image_gpu, 32, 7)
 net_gpu = tf.reduce_sum(net_gpu)
 
sess = tf.Session(config=config)
 
# Test execution once to detect errors early.
try:
 sess.run(tf.global_variables_initializer())
except tf.errors.InvalidArgumentError:
 print(
 '如果出了这个Error表示GPU配置不成功!\n\n')
 raise
 
 
def cpu():
 sess.run(net_cpu)
 
 
def gpu():
 sess.run(net_gpu)
 
 
# Runs the op several times.
print('Time (s) to convolve 32x7x7x3 filter over random 100x1000x100x3 images '
 '(batch x height x width x channel). Sum of ten runs.')
print('CPU (s):')
cpu_time = timeit.timeit('cpu()', number=10, setup="from __main__ import cpu")
print(cpu_time)
print('GPU (s):')
gpu_time = timeit.timeit('gpu()', number=10, setup="from __main__ import gpu")
print(gpu_time)
print('GPU speedup over CPU: {}x'.format(int(cpu_time / gpu_time)))
 
sess.close()

输出:

Time (s) to convolve 32x7x7x3 filter over random 100x1000x100x3 images (batch x height x width x channel). Sum of ten runs.
CPU (s):
25.24234085335886
GPU (s):
1.5711942943447745
GPU speedup over CPU: 16x

输出表明:这个任务GPU和6个i7的CPU相比快了16倍!

安装踩坑总结:

其中最大的坑就是CUDA、cuDNN、tensorflow-gpu以及python版本之间的匹配了。有时候明明按照官方的版本匹配列表安装,也是不行。

安装之后如果出现“ImportError: DLL load failed: 找不到指定的模块”错误,一般问题都是出在了版本不匹配上。

最需要注意的是CUDA9.2 。最初在NVIDIA控制面板,显示我的显卡支持CUDA 9.2.148,因此我按照推荐列表,选择tensorflow-gpu1.12.0+cuDNN 7.5.0.56+CUDA 9.2.148 +python3.5.5。注意此处有坑!!无论如何都是安装不成功,一直都是“ImportError: DLL load failed: 找不到指定的模块”这个错误。

后来看到有网友说,推荐列表中只给出CUDA版本号 的第一位,一般使用的都是CUDA9.0或者CUDA10.0,后面版本可能会出现不兼容。

于是,卸载CUDA9.2(不要管NVIDIA控制面板组件中显示的是CUDA9.2.148,不一定需要匹配),重新在推荐列表中寻找匹配的cuDNN以及tensorflow-gpu版本,最后成功安装。

总结

到此这篇关于TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)的文章就介绍到这了,更多相关TensorFlow环境配置与安装内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现发送email的几种常用方法
Aug 18 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
python删除过期文件的方法
May 29 Python
Python实现简单的语音识别系统
Dec 13 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
python django生成迁移文件的实例
Aug 31 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
python中wheel的用法整理
Jun 15 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
python math模块的基本使用教程
Jan 16 Python
Python移位密码、仿射变换解密实例代码
Jun 27 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 #Python
python GUI模拟实现计算器
Jun 22 #Python
keras CNN卷积核可视化,热度图教程
Jun 22 #Python
python实现斗地主分牌洗牌
Jun 22 #Python
解决Keras使用GPU资源耗尽的问题
Jun 22 #Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 #Python
Python 基于jwt实现认证机制流程解析
Jun 22 #Python
You might like
极典R601SW收音机
2021/03/02 无线电
数据库相关问题
2006/10/09 PHP
php的计数器程序
2006/10/09 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
杨氏矩阵查找的JS代码
2013/03/21 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
图文详解WinPE下安装Python
2016/05/17 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
python爬取代理ip的示例
2020/12/18 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
幼师求职信
2014/06/23 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python