在使用他人的项目代码时,遇到了这个问题
W T:\src\github\tensorflow\tensorflow\core\framework\allocator.cc:108]:Allocation of XXXXXX exceeds 10% of system memory
意思是方法分配的空间的大小超过了系统内存的10%
配置:Tensorflow 1.10.0,内存 128G
这算是一种Warning,而不是Error
在客观上无法马上扩展内存的情况下,仿佛只能通过减少数据量和模型参数量的角度进行修改
综合已有关于此问题的一些讨论[1][2],可能的角度如下,但不适用于所有可能的情况:
0、尽可能关闭其他占用内存较多的不必要的程序
1、减小batch_size
2、减少数据量,比如处理图片时先进行压缩
3、减少模型参数,比如层数和节点数
4、增加项目所在硬盘的虚拟内存交换分区的大小(swap file)
使用交换文件将内存作为 Amazon EC2 实例中的交换空间分配
5、指定物理设备是否内存生长,避免初始化时分配所有内存