tensorflow到底是什么(tensorflow算法)

今天刚把服务器搭建起来结果程序就跑不起来当时差点把自己吓尿了错误类型:CUDA_ERROE_OUT_OF_MEMORYEtensorflow/stream_executor/cuda/cuda_driver.cc:924]failedtoalloc17179869184bytesonhost:CUDA_ERROR_OUT_OF_MEMORYW./tenso…

大家好,又见面了,我是你们的朋友全栈君。

今天刚把服务器搭建起来 结果程序就跑不起来 当时差点把自己吓尿了

错误类型:CUDA_ERROE_OUT_OF_MEMORY

 

E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to alloc 17179869184 bytes on host: CUDA_ERROR_OUT_OF_MEMORY
W ./tensorflow/core/common_runtime/gpu/pool_allocator.h:195] could not allocate pinned host memory of size: 17179869184
Killed

 

 

 

其实很容易理解 大致意思就是 服务器的GPU大小为M

tensorflow只能申请N(N<M)

也就是tensorflow告诉你 不能申请到GPU的全部资源 然后就不干了

解决方法:

找到代码中Session

在session定义前 增加

 

config = tf.ConfigProto(allow_soft_placement=True)

#最多占gpu资源的70%
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)

#开始不会给tensorflow全部gpu资源 而是按需增加
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

这样就没问题了

 

其实tensorflow 算是一个比较贪心的工具了

就算用device_id指定gpu 也会占用别的GPU的显存资源 必须在执行程序前

执行

export CUDA_VISIBLE_DEVICES=n python main.py

(n为可见的服务器编号)

再去执行python 代码.py 才不会占用别的GPU资源

最近刚开始搞tensorflow 之前都是caffe

这周连续3天被实验室的人 举报 占用过多服务器资源 真是心累 只要用上面的方法

也就是执行代码前 执行 export CUDA_VISIBLE_DEVICES=n

只让1个或者个别GPU可见 其他GPU看不见 就行了

举例而言,例如 服务器上的GPU有8块,3个人共用这个服务器,你在运行代码前,首先要输入命令

nvidia-smi

用上面的命令看下哪些GPU没有被使用,例如3号和5号没有被使用,则你可以用如下命令运行你的程序

export CUDA_VISIBLE_DEVICES=3,5 python main.py

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127615.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 经典永不过时的句子_网红的成功案例分析

    经典永不过时的句子_网红的成功案例分析本周给大家分享的数据分析案例是泰坦尼克号幸存者预测的项目,没记错的话,这应该是很多朋友写在简历上的项目经历。如果你目前正在找工作,自身缺少项目经历并且想要充实项目经历的话,可以考虑一下这个项目!…

    2025年8月21日
    3
  • IOS安全、逆向、反编译1-越狱知识讲解[通俗易懂]

    IOS安全、逆向、反编译1-越狱知识讲解[通俗易懂]之前开发了一个对安全性要求比较高的APP,所以对安全、逆向和反编译有了一些认识,最近有时间就想系统的把这些知识做一个整理。今天就开始把我的学习过程记录下来。iOS越狱环境搭建在学习iOS越狱之前,我们当然需要一台iOS设备,由于现在基本上都是64位系统为主,所以最好是使用ARM64架构的设备,因此首先我们的手机至少需要iPhone5S或者之后的iPhone设备,平板至少是iPadAir、…

    2022年5月8日
    91
  • 口罩、安全帽识别比赛踩坑记(一) 经验漫谈及随想

    口罩、安全帽识别比赛踩坑记(一) 经验漫谈及随想前言       因为疫情迎来的史无前例大假期,从开始理直气壮的天天划手机,到中间百无聊赖的躺尸,再到之后实在憋得慌,就想找点什么事搞一搞。恰好这时,一直关注的极视角联合Intel公司举办了一个对口罩和安全帽进行识别的比赛,能免费用一个月的云服务器对于我这还在用跑个Demo都能卡死的老爷机来说还是相当具有吸引力的。于是…

    2022年5月19日
    41
  • python读取excel中的数据[通俗易懂]

    python读取excel中的数据[通俗易懂]importxlrdimportxlwtdefread_excel():#打开文件workBook=xlrd.open_workbook(‘data/HanXueLi_201801.xlsx’);#1.获取sheet的名字#1.1获取所有sheet的名字(list类型)allSheetNames=workBook.sh…

    2022年10月2日
    2
  • linux 挂载raid_linux挂载磁盘阵列

    linux 挂载raid_linux挂载磁盘阵列在许多项目中,都会把数据存放于磁盘阵列,以确保数据安全或者实现负载均衡。在初始安装数据库系统和数据恢复时,都需要先挂载磁盘阵列到系统中。本文记录一次在linux系统中挂载磁盘的操作步骤,以及注意事项。此处所用操作系统为Asianux,磁盘阵列设备名为emcpowera,使用的分区为emcpowera1。1.使用命令fdisk–l/dev/emcpowera查看磁盘阵列的分区情况:2.正…

    2022年6月19日
    49
  • 把一个数据表导入另一个数据库_把一个表里的数据导入另一个表

    把一个数据表导入另一个数据库_把一个表里的数据导入另一个表文章作者:姜南(Slyar)文章来源:SlyarHome(www.slyar.com)转载请注明,谢谢合作。之前发了《表达式变量批量替换器batchSQL》这篇文章,有童鞋说导入数据用phpMyAdmin提供的csv导入功能不是更好。的确,导入数据进入mysql用这个功能非常好,不过如果需要进行批量操作的是update或者其他操作呢,例如要从新的excel里批量更新某一部分的数据,总不能全…

    2025年11月28日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号