DefaultCPUAllocator: 内存不足:您尝试分配364742208字节。购买新的RAM。

11

我正在使用Python运行一个PyTorch自然语言处理模型,但是一直遇到以下奇怪的错误:

RuntimeError: [enforce fail at ..\c10\core\CPUAllocator.cpp:75] data. DefaultCPUAllocator: not enough 
memory: you tried to allocate 364742208 bytes. Buy new RAM!

考虑到我有16GB的内存,但只分配了0.3GB,所以我不理解这个内存错误是为什么。

如有任何帮助,将不胜感激。


3
请检查NUM_WORKERS的值。很可能每个线程尝试分配300MB内存,因此会很快填满您的RAM并导致错误。需要更多代码来完全解决这个问题。 - TheD0ubleT
3
你不会使用32位版本的Python,对吧? - Mark Ransom
2
@TheD0ubleT,我似乎找不到NUM_WORKERS。我想补充一下,我一直在使用预训练模型。如果需要,我很乐意提供任何代码。 - R_Sengupta
1
@MarkRansom 不,我正在使用64位版本。 - R_Sengupta
2
你给dataloader参数分配了多少批处理大小?请分享更多的代码。 - Sudhanshu
显示剩余2条评论
1个回答

1
如果您有足够的VRAM内存,请尝试增加页面文件(虚拟内存)大小。更好的选择是设置为“系统管理”,或者手动将其增加到更高的值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接