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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 呼叫中心FAQ_客服呼叫中心介绍

    呼叫中心FAQ_客服呼叫中心介绍呼叫中心专业术语

    2025年6月2日
    3
  • Redmi路由器AC2100之Openwrt旁路由设置

    Redmi路由器AC2100之Openwrt旁路由设置一、思路和环境:1、Redmi路由器AC2100作为主路由,路由系统为Padavan,主要负责拨号、DHCP、WIFI等功能,网络地址为192.168.11.1。2、群晖虚拟机vmm安装koolshare的Openwrt,单臂软路由作为旁路由,以实现zerotier等插件功能,网络地址为192.168.11.11。3、将旁路由的网关指向主路由网络地址192.168.11.1,关闭DHCP和桥接;同时,将主路由的网关指向旁路由的网络地址192.168.11.11。通过主路由和旁路由互指网关实现。二、旁路由设置

    2022年6月5日
    155
  • java验证手机号正则表达式_Java使用正则表达式验证手机号和电话号码的方法「建议收藏」

    java验证手机号正则表达式_Java使用正则表达式验证手机号和电话号码的方法「建议收藏」一个朋友需要,所以写了这两个,话不多说,看代码中国电信号段133、149、153、173、177、180、181、189、199中国联通号段130、131、132、145、155、156、166、175、176、185、186中国移动号段134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、1…

    2025年12月5日
    1
  • ftp上传下载工具,6款最值得推荐的Windows端ftp上传下载工具

    ftp上传下载工具,6款最值得推荐的Windows端ftp上传下载工具ftp上传下载工具是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载操作!可以使用服务器管理工具来作为FTP的客户端,进行FTP的操作,实现FTP的下载安装等!第一款:iis7服务器管理软件iis7远程桌面管理软件,是一款绿色小巧,功能实用的FTP工具软件,其界面简洁,操作方便,它支持FTP批量上传下载,它可以同时连接多台ftp服务器进行文件传输工作,还可以在线解压缩文件,支持文件查找,在线

    2022年5月27日
    41
  • MFC 键盘钩子「建议收藏」

    MFC 键盘钩子「建议收藏」一、前言一日,看见我妈正在用电脑练习打字,频频低头看键盘,我想:要是键盘能发音的话,不就可以方便她养成”盲打”的好习惯吗?光想不做可不行,开始行动(您可千万别急着去拿工具箱啊^_^)…按键能发音,其关键就是让程序能够知道当前键盘上是哪个键被按下,并播放相应的声音,自己的程序当然不在话下,那么其它程序当前按下哪个键如何得知呢?利用键盘钩子便可以很好地解决。下载本文的全部源代码大

    2022年6月7日
    56
  • Python分析和实现基于用户和Item的协同过滤算法

    Python分析和实现基于用户和Item的协同过滤算法打开微信扫一扫,关注《搜索与推荐Wiki》1:协同过滤算法简介2:协同过滤算法的核心3:协同过滤算法的应用方式4:基于用户的协同过滤算法实现5:基于物品的协同过滤算法实现一:协同过滤算法简介关于协同过滤的…

    2022年6月18日
    34

发表回复

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

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