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日期操作学习笔记
Oct 07 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
May 17 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
ubuntu上安装python的实例方法
Sep 30 Python
利用pandas合并多个excel的方法示例
Oct 10 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
Django实现celery定时任务过程解析
Apr 21 Python
快速一键生成Python爬虫请求头
Mar 04 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约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
php微信支付接口开发程序
2016/08/02 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
JavaScript 调试器简介
2009/02/21 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
来自qq的javascript面试题
2010/07/24 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
python3实现表白神器
2019/04/09 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
司机岗位职责
2013/11/15 职场文书
办公室文秘岗位职责
2013/11/15 职场文书
元旦晚会感言
2014/03/12 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
2015年团支部工作总结
2015/04/03 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS