为了账号安全,请及时绑定邮箱和手机立即绑定

当使用 shape[3075200,512] 分配张量并键入 float on 时出现 OOM:

当使用 shape[3075200,512] 分配张量并键入 float on 时出现 OOM:

斯蒂芬大帝 2023-10-05 17:04:35
我正在尝试创建灰度图像以使用 CNN 模型(使用 keras)。我必须尝试使用 512*512 的图像大小,但出现内存溢出错误。我无法再减小图像大小,如果我查看 gpustat,它是 32GB,但我不知道为什么会弹出内存错误。我不知道在哪里以及如何找到和增加可分配的 GPU 内存。以下是我迄今为止所做的尝试。1.减少层中神经元的数量 2.使用较小的批量大小(当前批量大小为5) 3.增加要使用的Maxpooling大小 4.增加步幅大小 5.Dropout 6.config = tf.ConfigProto() config.gpu_options .allow_growth = True 7. config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction 8.strategy = tf.distribute.MirroredStrategy() 9.mirrored_strategy = tf.distribute.MirroredStrategy(devices=["/GPU:0", " /XLA_GPU:1"])我已经尝试了以上所有方法,但它不起作用。如果您知道如何解决,请回答。您无法缩小图像尺寸。(这就是我实验的目的)并且它说GPU内存是32GB,但是如果你让我知道为什么在不是32GB时会出现错误,我将非常感激。
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

简短的回答。停止使用Flatten并将其更改为GlobalAveragePooling2DGlobalMaxPooling2D

长答案。您尝试使用的64*64*800完全连接层的输入大小太大了。现代CNN模型都不再使用Flatten并取而代之,GlobalAveragePooling2D因为它还保留了CNN的可变尺寸能力。


查看完整回答
反对 回复 2023-10-05
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信