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 相关文章推荐
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
Python3实现的画图及加载图片动画效果示例
Jan 19 Python
Python基础教程之利用期物处理并发
Mar 29 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 Python
python安装和pycharm环境搭建设置方法
May 27 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
Python 实现集合Set的示例
Dec 21 Python
利用python实现后端写网页(flask框架)
Feb 28 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
PHP个人网站架设连环讲(一)
2006/10/09 PHP
php部分常见问题总结
2008/03/27 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
JS实现点击下载的小例子
2013/07/10 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
wxPython事件驱动实例详解
2014/09/28 Python
python实现简单温度转换的方法
2015/03/13 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
Python切片操作实例分析
2018/03/16 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
Python urllib2运行过程原理解析
2020/06/04 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
幼儿园中班教师个人总结
2015/02/05 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
《去年的树》教学反思
2016/02/18 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python