位置: IT常识 - 正文

tensorflow使用显卡gpu进行训练详细教程(tensorflow dlib)

编辑:rootadmin
tensorflow使用显卡gpu进行训练详细教程 GPU之nvidia-smi命令详解查看显卡的信息:

推荐整理分享tensorflow使用显卡gpu进行训练详细教程(tensorflow dlib),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:tensorflow hmm,tensorflow hmm,tensorflows,tensorflow hmm,tensorflow dlib,tensorflow v1,tensorflowgpu,tensorflowgpu,内容如对您有帮助,希望把文章链接给更多的朋友!

cmd: nvidia-smi

GPU之nvidia-smi命令详解 - 简书

编辑

GPU:本机中的GPU编号(有多块显卡的时候,从0开始编号)图上GPU的编号是:0

Fan:风扇转速(0%-100%),N/A表示没有风扇

Name:GPU类型,图上GPU的类型是:Tesla T4

Temp:GPU的温度(GPU温度过高会导致GPU的频率下降)

Perf:GPU的性能状态,从P0(最大性能)到P12(最小性能),图上是:P0

Persistence-M:持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时花费的时间更少,图上显示的是:off

Pwr:Usager/Cap:能耗表示,Usage:用了多少,Cap总共多少

Bus-Id:GPU总线相关显示,domain:bus:device.function

Disp.A:Display Active ,表示GPU的显示是否初始化

tensorflow使用显卡gpu进行训练详细教程(tensorflow dlib)

Memory-Usage:显存使用率

Volatile GPU-Util:GPU使用率

Uncorr. ECC:关于ECC的东西,是否开启错误检查和纠正技术,0/disabled,1/enabled

Compute M:计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED

Processes:显示每个进程占用的显存使用率、进程号、占用的哪个GPU

隔几秒刷新一下显存状态:nvidia-smi -l 秒数

隔两秒刷新一下GPU的状态:nvidia-smi -l 2

tensorflow的显卡使用方式1、直接使用

这种方式会把当前机器上所有的显卡的剩余显存基本都占用,注意是机器上所有显卡的剩余显存。因此程序可能只需要一块显卡,但是程序就是这么霸道,我不用其他的显卡,或者我用不了那么多显卡,但是我就是要占用。

with tf.compat.v1.Session() as sess:# 输入图片为256x256,2个分类shape, classes = (224, 224, 3), 20# 调用keras的ResNet50模型model = keras.applications.resnet50.ResNet50(input_shape = shape, weights=None, classes=classes)model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])# 训练模型 categorical_crossentropy sparse_categorical_crossentropy# training = model.fit(train_x, train_y, epochs=50, batch_size=10)model.fit(train_x,train_y,validation_data=(test_x, test_y), epochs=20, batch_size=6,verbose=2)# # 把训练好的模型保存到文件model.save('resnet_model_dog_n_face.h5')2、分配比例使用

其中这种方式跟上面直接使用方式的差异就是,我不占用所有的显存了,例如这样写,我就占有每块显卡的60%。

from tensorflow.compat.v1 import ConfigProto# tf 2.x的写法config =ConfigProto()config.gpu_options.per_process_gpu_memory_fraction=0.6with tf.compat.v1.Session(config=config) as sess:model = keras.applications.resnet50.ResNet50(input_shape = shape, weights=None, classes=classes)3. 动态申请使用

这种方式是动态申请显存的,只会申请内存,不会释放内存。而且如果别人的程序把剩余显卡全部占了,就会报错。

以上三种方式,应根据场景来选择。

第一种因为是全部占用内存,因此只要模型的大小不超过显存的大小,就不会产生显存碎片,影响计算性能。可以说合适部署应用的配置。

第二种和第三种适合多人使用一台服务器的情况,但第二种存在浪费显存的情况,第三种在一定程序上避免了显存的浪费,但极容易出现程序由于申请不到内存导致崩溃的情况。

config = tf.compat.v1.ConfigProto()config.gpu_options.allow_growth = Truesession = tf.compat.v1.InteractiveSession(config=config)with tf.compat.v1.Session(config=config) as sess:model4 指定GPU

在有多块GPU的服务器上运行tensorflow的时候,如果使用python编程,则可指定GPU,代码如下:

import osos.environ["CUDA_VISIBLE_DEVICES"] = "2"

配上一个完整的示例:resnet50图片分类:

编辑

config = tf.compat.v1.ConfigProto()config.gpu_options.allow_growth = Truesession = tf.compat.v1.InteractiveSession(config=config)with tf.compat.v1.Session(config=config) as sess:# 输入图片为256x256,2个分类shape, classes = (224, 224, 3), 20# 调用keras的ResNet50模型model = keras.applications.resnet50.ResNet50(input_shape = shape, weights=None, classes=classes)model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])# 训练模型 categorical_crossentropy sparse_categorical_crossentropy# training = model.fit(train_x, train_y, epochs=50, batch_size=10)model.fit(train_x,train_y,validation_data=(test_x, test_y), epochs=20, batch_size=6,verbose=2)# # 把训练好的模型保存到文件model.save('resnet_model_dog_n_face.h5')
本文链接地址:https://www.jiuchutong.com/zhishi/290775.html 转载请保留说明!

上一篇:vue(绑定style属性)(vue绑定css样式)

下一篇:斯洛文尼亚索奇河上的木制吊桥上骑自行车的人的鸟瞰图 (© Amazing Aerial Agency/Offset by Shutterstock)(斯洛文尼亚nba球星是谁)

  • 税种核定在电子版怎么查
  • 什么是企业增值税和所得税
  • 公司去社保局开什么发票
  • 可以直接申请一般纳税人吗
  • 承兑汇票可以随便给人看吗
  • 个税是每个月都扣吗
  • 财务费用为什么借方红字
  • 购进出口商品的会计分录
  • 质量管理体系认证证书在哪里办
  • 建筑施工外包
  • 营业收入包括其收入吗
  • 税控服务费全额抵扣文件
  • 劳务费税率公式是什么
  • 在建工程摊销是啥意思
  • 一般户收到基本户转账的会计分录
  • 建安行业简易计税可以抵扣吗
  • 增值税有留底怎么申请退税
  • 物流公司增项
  • 科技型企业科研项目申报
  • 税控设备指什么
  • 建筑行业会计成本会计工作流程
  • 公益性捐赠税前扣除资格认定程序
  • 社保多交怎么办理
  • 个税申报晚了会退税费吗
  • 什么是要约的撤销
  • 异地增值税预交可以网上缴纳吗
  • win10更新21h1后很卡
  • 怎样提高网速呢知乎
  • php哈希表
  • 企业所得税汇算清缴
  • 用银行存款支付本季度短期借款利息
  • win7纯净版系统官网
  • php的运算符主要包括哪些?
  • 在一个js文件中怎么写
  • 关于扩展检索,下列说法正确的是
  • 评价指标mae
  • 税控盘每年的服务费可以抵扣吗
  • vue ts
  • vue子组件监听父组件
  • 基于反事实因果推断的度小满额度模型
  • 销售退货和销售折让的区别
  • 固定资产改造替换
  • 永续债利息可以扣除嘛
  • 关于在使用手机
  • 带附件的目录
  • mysql密码忘记了咋办
  • mysql 连接语句
  • 年末关账注意事项
  • 分公司注册独立核算还是非独立核算
  • sqlserver2008安装完在哪打开
  • 绩效工资扣款违法么?
  • 销项税用转出吗
  • 新准则下交易性金融债券
  • 增值税纳税申报表附列资料(一)
  • 应收账款收不回来
  • 关于小规模纳税人的说法正确的是
  • 筹建期的印花税怎么算
  • 企业买车购置税可以抵增值税吗
  • 对公账户没有用了一定要注销吗?
  • ubuntu16设置启动项
  • mac系统自带的杀毒软件
  • linux解释
  • gacrunner.exe是什么
  • win10链接手机怎么用
  • Linux内核级别的资源隔离机制是
  • Win10 Mobile 10586无法更新应用怎么办 一招教你解决
  • win8怎么卸载应用程序
  • windows8ip地址怎么设置
  • 90后的毕业照
  • jquery fadein 源码
  • JavaScript replace(rgExp,fn)正则替换的用法
  • html应用css
  • javascript含义
  • jquery判断checkbox是否选中及改变checkbox状态的实现方法
  • 四川省 税务局
  • 河北个体工商户年报入口
  • 2023居民医保怎么交
  • 无偿转让股权协议书范本
  • 包头市到青山区多少公里
  • 煤炭资源税税率选煤税率多少黑龙江
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设