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进行一些简单的自然语言处理的教程
Mar 31 Python
python控制台中实现进度条功能
Nov 10 Python
Python3实现Web网页图片下载
Jan 28 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
Dec 04 Python
多版本Python共存的配置方法
May 22 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
python 变量初始化空列表的例子
Nov 28 Python
python使用配置文件过程详解
Dec 28 Python
python3爬取torrent种子链接实例
Jan 16 Python
在Tensorflow中查看权重的实现
Jan 24 Python
怎么快速自学python
Jun 22 Python
谈谈python垃圾回收机制
Sep 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
PHP中Session的概念
2006/10/09 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
js调用css属性写法
2013/09/21 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
Python中的字典遍历备忘
2015/01/17 Python
python如何在循环引用中管理内存
2018/03/20 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
酒店保洁主管岗位职责
2013/11/28 职场文书
设计总监岗位职责
2013/12/07 职场文书
关于责任的演讲稿
2014/05/20 职场文书
理财计划书
2014/08/14 职场文书
安全环保演讲稿
2014/08/28 职场文书
2014年采购部工作总结
2014/11/20 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书