如何在Google引擎上使用TCMalloc?或者除了TCMalloc之外,还有其他方法来解决ML引擎上的内存泄漏问题吗?
最后确定图表似乎没有帮助。
内存利用率图表:

经过73次训练,我已经摆脱了记忆错误。以下是培训日志的一部分:
11:26:33.707约伯失败了。 11:26:20.949完成了对TensorFlow的拆除。 11:25:18.568复制主机0耗尽内存,并以247的非零状态退出.要了解你的工作为什么退出,请查看日志。 11:25:07.785清洁完毕。 11:25:07.785模块完成;清理完毕。 11:25:07.783模块因未能调用子进程命令'['python','-m',u‘train.main’,u‘-data=gs://’,u'--train_log_dir=gs://tfoutput/joboutput',u‘-模型=train.脆化_模型’,u‘-num_线程=32’,u‘--内存使用=0.8’,u‘-max_out_norm=1’,u‘- to _batch_size=64,u’-sample_size=112‘,而引发了异常。u'--num_gpus=4',u‘-允许增长=真’,u‘-重量_损耗_by_train_size=True’,u'-x',返回的非零出口状态-9。 11:23:08.853 PNG警告:扩展块时超出大小限制 11:18:18.474时代58.0:精度= 0.9109 11:17:14.851 2017-05-17 10:17:14.851024:时代58,损失= 0.12,lr = 0.085500 (228.9例/秒;0.280秒/批) 11:15:39.532 PNG警告:扩展块时超出大小限制 11:10:23.855 PoolAllocator: 372618242 get请求后,put_count=372618151 evicted_count=475000 eviction_rate=0.00127476和未满足的分配rate=0.00127518 11:05:32.928 PNG警告:扩展块时超出大小限制 10:59:26.006时代57.0:精度= 0.8868 10:58:24.117 2017-05-17 09:24.117444:时代57,损失= 0.23,lr = 0.085750 (282.2例/秒;0.227秒/批) 10:54:37.440 PNG警告:扩展块时超出大小限制 10:53:30.323 PoolAllocator: 366350973 get请求后,put_count=366350992 evicted_count=465000 eviction_rate=0.00126927和未满足的分配rate=0.0012694 10:51:51.417 PNG警告:扩展块时超出大小限制 10:40:43.811时代56.0:精度= 0.7897 10:39:41.308 2017-05-17 09:41.308624:时代56,损失= 0.06,lr = 0.086000 (273.8例/秒;0.234秒/批) 10:38:14.522 PoolAllocator: 360630699 get请求后,put_count=360630659 evicted_count=455000 eviction_rate=0.00126168和未满足的分配rate=0.00126197 10:36:10.480 PNG警告:扩展块时超出大小限制 10:21:50.715时代55.0:精度= 0.9175 10:20:51.801 PoolAllocator: 354197216 get请求后,put_count=354197255 evicted_count=445000 eviction_rate=0.00125636和未满足的分配rate=0.00125644 10:20:49.815 2017-05-17 09:20:49.815251:时代55,损失= 0.25,lr = 0.086250 (285.6例/秒;0.224秒/批) 10:02:56.637时代54.0:精度= 0.9191 10:01:57.367 2017-05-17 09:01:57.367369: 54年,损失= 0.09,lr = 0.086500 (256.5例/秒;0.249秒/批) 10:01:42.365 PoolAllocator: 347107694 get请求后,put_count=347107646 evicted_count=435000 eviction_rate=0.00125321和未满足的分配rate=0.00125354 09:45:56.116 PNG警告:扩展块时超出大小限制 09:44:12.698时代53.0:精度= 0.9039 09:43:09.888 2017-05-17 08:09.888202:纪元53,损失= 0.10,lr = 0.086750 (307.0例/秒;0.208秒/批) 09:41:48.672 PoolAllocator: 339747205 get请求后,put_count=339747210 evicted_count=425000 eviction_rate=0.00125093和未满足的分配rate=0.00125111 09:36:14.085 PNG警告:扩展块时超出大小限制 09:35:11.686 PNG警告:扩展块时超出大小限制 09:34:45.011 PNG警告:扩展块时超出大小限制 09:31:03.212 PNG警告:扩展块时超出大小限制 09:28:40.116 PoolAllocator: 335014430 get请求后,put_count=335014342 evicted_count=415000 eviction_rate=0.00123875和未满足的分配rate=0.00123921 09:27:38.374 PNG警告:扩展块时超出大小限制 09:25:23.913 PNG警告:扩展块时超出大小限制 09:25:16.065时代52.0:精度= 0.9313 09:24:16.963 2017-05-17 08:16.962930: 52,损失= 0.11,lr = 0.087000 (278.7例/秒;0.230秒/批) 09:17:48.417 PNG警告:扩展块时超出大小限制 09:13:34.740 PoolAllocator: 329380055 get请求后,put_count=329379978 evicted_count=405000 eviction_rate=0.00122958和未满足的分配rate=0.00123001 09:06:09.948更新时代51.0:精确度= 0.9357 09:06:09.948时代51.0:精度= 0.9357 09:05:09.575 2017-05-17 08:09.575641: 51,损失= 0.11,lr = 0.087250 (248.4例/秒;0.258秒/批) 08:59:17.735 PNG警告:扩展块时超出大小限制 08:55:58.605 PoolAllocator: 322904781 get请求后,put_count=322904714 evicted_count=395000 eviction_rate=0.00122327和未满足的分配rate=0.00122368 08:48:46.322 PNG警告:扩展块时超出大小限制 08:47:27.936年代50.0:准确度= 0.9197 08:46:29.370 2017-05-17 07:29.370135: 50,损失= 0.20,lr = 0.087500 (253.2例/秒;0.253秒/批)
我试过在本地机器上使用TCMalloc进行培训,仍然存在内存泄漏,但没有使用它。
发布于 2017-05-18 16:25:47
TensorFlow默认使用jemalloc,这也是CloudML引擎所使用的:
jemalloc是一个通用的malloc(3)实现,它强调碎片的避免和可伸缩的并发支持。
因此,碎片不太可能是内存问题的根本原因。
https://stackoverflow.com/questions/44042690
复制相似问题