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


相关推荐

  • TP传输的两种模式

    TP传输的两种模式

    2021年9月23日
  • java简历的项目经验怎么写_适合大学生做的java项目

    java简历的项目经验怎么写_适合大学生做的java项目前言今年的金三银四已经过去一大半了,在这其中参与过不少面试,2021都说工作不好找,这也是对开发人员的要求变向的提高了。之前在Github上收获15K+star的Java核心神技(这参数,质量多高就不用我多说了吧)非常全面,包含基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty与RPC、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等内容非常丰富,已经帮很多人拿下互联网一线公司的offer美团一面:1、Concurr

    2022年10月7日
  • 临时手机号接收验证码在线短信接收_临时手机号短信验证码平台

    临时手机号接收验证码在线短信接收_临时手机号短信验证码平台  处在这个前所未有的信息化时代,网络带给我们极大便利的同时,也让我们的个人信息安全也遭受了严重的威胁。很多人对个人信息的保护意识淡薄,不知道当今个人信息泄露的广泛性,没有认识到个人信息泄露的途径以及严重危害。比如我们注册任何一个网站的时候,往往需要提供手机号码,输入接收到的短信验证码,或者邮箱地址也一样。一旦这些信息泄漏,就会经常性地收到一些垃圾信息、广告信息。  但是你为了查看或下载这个网站里面的资源,又不得不注册。怎么办呢?如果有一些匿名、临时、一次性的邮箱地址,以及可以免费收发短信验证码的…

    2022年10月13日
  • iOS逆向入门实践 — 逆向微信,伪装定位(二)

    iOS逆向入门实践 — 逆向微信,伪装定位(二)1.创建工程还是跟之前的步骤一致,创建工程,然后配置Makefile。注意创建工程时名字只能包含数字跟字母。Makefile上面引入的 FakeWeChatLocationManager.m 文件是主要代码实现的地方,分离出来好模块化。2.Reveal注入为了更好地定位代码,需要分析一下“附近的人”这个界面对应的类名是什么,然后进一步分析

    2022年6月2日
  • Base64转换成图片[通俗易懂]

    Base64转换成图片[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

    2022年5月22日
  • 超给力的博客园皮肤 Awescnb 来袭 !附更换皮肤步骤

    超给力的博客园皮肤 Awescnb 来袭 !附更换皮肤步骤Awescnb博客园皮肤Awescnb是一款基于vite和webpack5,构建、安装、切换的博客园皮肤。界面简单干净,集成到Cnblog步骤也十分简便,只需要几步就能在你的博客园快

    2022年7月2日

发表回复

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

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