【Tensorflow-Error】CUDA_ERROR_OUT_OF_MEMORY: out of memory
在Tensorflow 訓(xùn)練模型時(shí)報(bào)錯(cuò)提示:?
failed to allocate 3.77G (4046333952 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY: out of memory
雖然會(huì)報(bào)出顯存溢出問(wèn)題,但不影響正常訓(xùn)練,不過(guò)筆者還是想知道這個(gè)問(wèn)題是怎么來(lái)的。
廢話不多說(shuō),先上session初始化的代碼
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=1.0)config = tf.ConfigProto(gpu_options=gpu_options, allow_soft_placement=False, log_device_placement=False)session = tf.Session(config=config)per_process_gpu_memory_fraction 代表顯卡可用使用的占比,代碼中設(shè)置為 1 ,代表顯卡被100%使用,所以會(huì)在訓(xùn)練中報(bào)出上述錯(cuò)誤提示
現(xiàn)在,修改一下session初始化代碼
config = tf.ConfigProto(allow_soft_placement=False, log_device_placement=False) config.gpu_options.allow_growth = True session = tf.Session(config=config)在tf.ConfigProto()參數(shù)中,刪除gpu_options的設(shè)定,并且在初始化config后,新增?config.gpu_options.allow_growth = True ,這個(gè)選項(xiàng)是讓session根據(jù)當(dāng)前顯存大小,自動(dòng)分配顯存,不會(huì)將顯存全部占用,從而確保最大占用比。
總結(jié)
以上是生活随笔為你收集整理的【Tensorflow-Error】CUDA_ERROR_OUT_OF_MEMORY: out of memory的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苹果新专利公布:可实现用户界面注视导航
- 下一篇: 【ROS-Error】 Can‘t c