社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

d_kennetz

d_kennetz 最近创建的主题
d_kennetz 最近回复了
6 年前
回复了 d_kennetz 创建的主题 » CUDA错误:内存不足-Python解释器使用所有GPU内存

默认情况下,Tf为进程的生存期分配GPU内存,而不是为会话对象的生存期分配内存(因此内存可以比对象长得多)。这就是为什么在你停止程序后,记忆依然挥之不去。在很多情况下,使用 gpu_options.allow_growth = True

防止 tf.Session gpu_options.allow_growth=True 允许在运行时使用定义的内存部分(使用50%,因为您的程序似乎可以使用大量内存),如下所示:

session_conf.gpu_options.per_process_gpu_memory_fraction = 0.5

您可以通过设置截断来设置此后数组生成。我已经建立了一个虚拟的例子,在这里我得到了非常小的值

zeroes = (np.arange(1, 10, 2))/1000500
print(zeroes)
##
#[9.99500250e-07 2.99850075e-06 4.99750125e-06 6.99650175e-06
# 8.99550225e-06]

zeroes[zeroes >= 5e-6] = 1
zeroes[zeroes < 5e-6] = 0
print(zeroes)
# [0. 0. 0. 1. 1.]

在这种情况下,所有小于5e-6的数组值都被赋值为0,所有大于等于5e-6的值都被赋值为1。分配你的截止值并应用过滤器。