Torch7-内存不足:您尝试分配0GB的内存。购买新的RAM。

我尝试加载一个大的音频数据集并实现audio.spectrogram。

我得到了这个错误:

$Torch: not enough memory: you tried to allocate 0GB. Buy new RAM! at /home/XXXX/torch/pkg/torch/lib/TH/THGeneral.c:222
stack traceback:
[C]: at 0xb732c560
[C]: in function '__add'
/home/XXXX/torch/install/share/lua/5.1/audio/init.lua:107: in function 'spectrogram'
large.lua:24: in main chunk
[C]: in function 'dofile'
[string "_RESULT={dofile "large.lua"}"]:1: in main chunk
[C]: in function 'xpcall'
/home/XXXX/torch/install/share/lua/5.1/trepl/init.lua:650: in function 'repl'
...XX/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:199: in main chunk
[C]: at 0x0804d6d0

Torch7是否有内存限制?

点赞
用户1944004
用户1944004

, Torch没有内存限制,但在分配内存时需要满足特定的条件。

如果您查看THGeneral.c(出现错误的地方),您将看到当使用THAllocInternal分配失败时会引发此错误。根据您的输出,我猜测您正在使用Unix系统,并且也猜测您正在尝试分配大量的内存(但不超过1GB)。如果您要对齐超过5120字节,则THAllocInternal将调用posix_memalign进行64字节对齐的内存分配,否则,它将调用标准的malloc。也就是说,您看到的错误来自操作系统提供的这些函数之一。您需要在那里进行检查。您还可以尝试使用标志DISABLE_POSIX_MEMALIGN重新编译Torch以排除此问题。

2018-05-30 07:26:54
用户12876188
用户12876188

如果您的系统有GPU,则可以使用PyTorch创建一个CNN模型,该模型会自动在CUDA上运行。重新启动系统,内存将自动清除。

2020-02-11 04:07:50