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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 单调栈算法详解_单调栈和单调队列

    单调栈算法详解_单调栈和单调队列单调栈算法详解单调栈使用模板stack<int>st;//此处一般需要给数组最后添加结束标志符,具体下面例题会有详细讲解for(遍历这个数组){if(栈空||栈顶元素大于等于当前比较元素){入栈;}else{while(栈不为空&&栈顶元素小于当前元素){栈顶元素出栈;更新结果;}入栈;}}或者简化

  • textview长按复制_android-TextView的长按复制[通俗易懂]

    textview长按复制_android-TextView的长按复制[通俗易懂]引子android很多app都支持文本的选中,复制。根据观察,主要分为两类:1)自由复制(弹出框里面支持全选)2)仅支持全选复制今天工作中遇到了全选的需求,现总结出来,方便以后查阅.自由复制这种方式很简单,只需要两行代码,(下面的红色)android:layout_height=”wrap_content”android:text=”长按自由复制”android:textColorHighligh…

  • PHP多种形式发送邮件

    1.使用mail()函数没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发。这个按照各个系统不同而定。使用参考手册。2.使用管道的形式昨天刚测试成功,使用本地的

    2021年12月21日
  • 中文金融领域情感词典构建「建议收藏」

    中文金融领域情感词典构建「建议收藏」2019年10月4日-6日Python爬虫与文本分析工作坊&课题申报高级研修班这篇文章是公众号关注者郝童鞋今早发给我的,在此谢谢郝童鞋。文章基于简单算法和人工…

  • python进阶(15)多线程与多进程效率测试「建议收藏」

    python进阶(15)多线程与多进程效率测试「建议收藏」前言在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python大多

  • android之requestWindowFeature详解[通俗易懂]

    requestWindowFeature可以设置的值有:        1.DEFAULT_FEATURES:系统默认状态,一般不需要指定        2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定        3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时

发表回复

您的电子邮箱地址不会被公开。

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