我试图加载一个大型音频数据集并实现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是否有内存限制?
最佳答案
否,Torch没有内存限制,但是它要求在分配内存时满足某些条件。
如果查看 THGeneral.c
(错误的来源),您会发现当使用THAllocInternal
分配失败时会引发此错误。从您的输出中,我猜您是在Unix系统上,并且您还想分配大量内存(但小于1GB)。如果要对齐5120个以上的字节,THAllocInternal
将为64字节对齐的内存调用 posix_memalign
,否则将调用标准 malloc
。也就是说,您看到的错误来自操作系统提供的那些功能中的任何一个。您将必须在那里检查。您也可以尝试使用DISABLE_POSIX_MEMALIGN
标志重新编译Torch,以排除这种情况。
关于lua - Torch7-内存不足: you tried to allocate 0GB.购买新的RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34760765/