tensorflow-gpu版本安装及深度神经网络训练与cpu版本对比
tensorflow1.0和tensorflow2.0的区别主要是1.0用的静态图
一般情况1.0已经足够,但是如果要进行深度神经网络的训练,当然还是tensorflow2.*-gpu比较快啦。
其中tensorflow有CPU和GPU两个版本(2.0安装方法),
CPU安装比较简单:
pip install tensorflow-cpu
一、查看显卡
日常CPU足够,想用GPU版本,要有NVIDIA的显卡,查看显卡方式如下:

二、查看版本对应关系
然后我们需要去下载NVIDIA驱动CUDA以及支持神经网络训练的CUDNN模块:(重点,其中需要查看自己NVIDIA版本 Python版本 CUDNN版本是否匹配)

下载CUDA:https://developer.nvidia.com/cuda-11.3.0-download-archive
三、安装cudnn
CUDA安装完毕后,需要安装支持神经网络训练的CUDNN模块,下载 cuDNN,下载之前需要先注册一下 Nvidia 的账号,下载地址为:https://developer.nvidia.com/rdp/cudnn-download
下载完成之后将其解压,解压之后的目录如下:

需要将以上三个文件复制到CUDA的安装目录中,通过上面的安装,我们将CUDA安装到了C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3中。
四、安装anaconda
安装Anaconda:
然后最好是使用anaconda安装tensorflow,先去安装anaconda,详细教程传送门:https://blog.csdn.net/fan18317517352/article/details/123035625
其实如果不想麻烦的配置环境变量,可以在安装Anaconda过程中选择JUST ME, 然后将Anaconda加入环境变量。

然后直接就可以在anaconda里选择tensorflow-gpu进行安装,安装完毕后,查看能否支持gpu:
import os
import tensorflow as tf
print(tf.test.is_gpu_available())
gpus = tf.config.list_physical_devices('GPU')
cpus = tf.config.list_physical_devices('CPU')
print(gpus, cpus)
from tensorflow.python.client import device_lib print(device_lib.list_local_devices())
如果输出如下,则说明可以使用GPU
(注意,真的只是可以使用,不代表可以用了,自己体会,我曾经被坑了好久):

五、测试(重点干货来了)
import os # 指定使用0卡
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
如果提示缺少dll文件,去这个网址找:https://cn.dll-files.com/cudart64_110.dll.html 缺啥找啥,看链接后缀
然后训练模型,发现只能训练前馈神经网络,速度还很慢,训练深度网络时,直接内存不足,但原因可能是由于缺少文件:
Process finished with exit code -1073740791 (0xC0000409)

解决办法:Pycharm中,点击RUN-EDIT CONFIGURATIONS,输出错误信息

发现缺少文件:

下载zlib并且解压

dll放到cuda安装目录的bin里,lib放到cuda安装目录的lib文件夹下,然后开始训练,你会发现用GPU真香
CPU耗时:

GPU耗时:

切换CPU GPU 只要切换设备就行了,我只进行了2epoch的卷积训练,可以看到GPU速度要比CPU快个4 5 倍左右,如果是前馈神经网络或者简单的神经网络,测试验证使用CPU是被GPU要快的,所以自己需要根据实际情况切换设备。
需要zlib文件的可以给我留言。
tensorflow-gpu版本安装及深度神经网络训练与cpu版本对比的更多相关文章
- 代码详解:TensorFlow Core带你探索深度神经网络“黑匣子”
来源商业新知网,原标题:代码详解:TensorFlow Core带你探索深度神经网络“黑匣子” 想学TensorFlow?先从低阶API开始吧~某种程度而言,它能够帮助我们更好地理解Tensorflo ...
- "如何用70行Java代码实现深度神经网络算法" 的delphi版本
http://blog.csdn.net/hustjoyboy/article/details/50721535 "如何用70行Java代码实现深度神经网络算法" 的delphi ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- Win10下 tensorflow gpu版安装
准备: 系统环境: windows10 + Anaconda3 + Pycharm (1)环境配置: 打开Anaconda Prompt,输入清华仓库镜像,这样更新会快一些: 输入: conda co ...
- 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用
深度神经网络(Deep Neural Networks, 简称DNN)是近年来机器学习领域中的研究热点,产生了广泛的应用.DNN具有深层结构.数千万参数需要学习,导致训练非常耗时.GPU有强大的计算能 ...
- 『TensorFlow2.0正式版教程』极简安装TF2.0正式版(CPU&GPU)教程
0 前言 TensorFlow 2.0,今天凌晨,正式放出了2.0版本. 不少网友表示,TensorFlow 2.0比PyTorch更好用,已经准备全面转向这个新升级的深度学习框架了. 本篇文章就 ...
- TensorFlow GPU版本的安装与调试
笔者采用python3.6.7+TensorFlow1.12.0+CUDA10.0+CUDNN7.3.1构建环境 PC端配置为GTX 1050+Intel i7 7700HQ 4核心8线程@2.8GH ...
- 【转】Ubuntu 16.04安装配置TensorFlow GPU版本
之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...
- Tensorflow检验GPU是否安装成功 及 使用GPU训练注意事项
1. 已经安装cuda但是tensorflow仍然使用cpu加速的问题 电脑上同时安装了GPU和CPU版本的TensorFlow,本来想用下面代码测试一下GPU程序,但无奈老是没有调用GPU. imp ...
随机推荐
- 5.27 NOI 模拟
\(T1\)约定 比较水的\(dp\)题 上午想到了用区间\(dp\)求解,复杂度\(O(n^5),\)貌似没开\(long\ long\)就爆掉了 正解还是比较好想的,直接枚举从何时互不影响然后转移 ...
- 用JavaScript写一个进度条
var porpressBar = document.getElementById('progressBar') var info = document.getElementById('info') ...
- Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 一.Prometheus 二.exporter ...
- 微信小程序检查版本更新并重启
目录 1,前言 2,解决方案 3,调试须知 1,前言 最近开发小程序时候碰上了一个问题,当发布新版本小程序后,需要用户能赶紧用上最新的,避免出问题.查了一下官方文档,总结出几个情况如下: 微信运行时, ...
- 一文搞懂│mysql 中的备份恢复、分区分表、主从复制、读写分离
目录 mysql 的备份和恢复 mysql 的分区分表 mysql 的主从复制读写分离 mysql 的备份和恢复 创建备份管理员 创建备份管理员,并授予管理员相应的权限 备份所需权限:select,r ...
- CSS 选择器(二):子代选择器(>)
后代选择器 后代选择器选择的范围广,范围是当前节点的所有子节点,包括其直接子节点. <div id="app"> <div>items-1 <div& ...
- JCEF 初体验,window系统构建jar包
前言 本文记录如何通过jcef源代码去构建自己所需要的jar包,此文章构建的为windows64位jcef 的 jar 包,若需要构建 32 位的 jar 包,则需要按照文章将相关准备软件设置为 32 ...
- LOJ#2014「SCOI2016」萌萌哒(倍增,并查集优化连边)
题面 点此看题 题意很明白,就不转述了吧. 题解 题目相当于告诉了我们若干等量关系,每个限制 l 1 , r 1 , l 2 , r 2 \tt l_1,r_1,l_2,r_2 l1,r1,l2 ...
- 「JOI 2015 Final」分蛋糕 2
「JOI 2015 Final」分蛋糕 2 题解 这道题让我想起了新年趣事之红包这道DP题,这道题和那道题推出来之后的做法是一样的. 我们可以定义dp[i][len][1] 表示从第i块逆时针数len ...
- Mac隔空投送功能
使用mac 或iphone 的隔空投送功能可以互发文件,亲测可用 具体可以看mac的文档 需要注意的是: 如果是mac传iphone,iphone会显示你需要存储文件的地方,比如选择在文稿中.然后在文 ...