我正在嘗試創(chuàng)建灰度圖像以使用 CNN 模型(使用 keras)。我必須嘗試使用 512*512 的圖像大小,但出現(xiàn)內(nèi)存溢出錯誤。我無法再減小圖像大小,如果我查看 gpustat,它是 32GB,但我不知道為什么會彈出內(nèi)存錯誤。我不知道在哪里以及如何找到和增加可分配的 GPU 內(nèi)存。以下是我迄今為止所做的嘗試。1.減少層中神經(jīng)元的數(shù)量 2.使用較小的批量大小(當(dāng)前批量大小為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"])我已經(jīng)嘗試了以上所有方法,但它不起作用。如果您知道如何解決,請回答。您無法縮小圖像尺寸。(這就是我實(shí)驗(yàn)的目的)并且它說GPU內(nèi)存是32GB,但是如果你讓我知道為什么在不是32GB時會出現(xiàn)錯誤,我將非常感激。
1 回答

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個贊
簡短的回答。停止使用Flatten
并將其更改為GlobalAveragePooling2D
或GlobalMaxPooling2D
。
長答案。您嘗試使用的64*64*800
完全連接層的輸入大小太大了?,F(xiàn)代CNN模型都不再使用Flatten
并取而代之,GlobalAveragePooling2D
因?yàn)樗€保留了CNN的可變尺寸能力。
添加回答
舉報
0/150
提交
取消