return forward_call(*input, **kwargs) File "/home/sdy/hw/pop2/CNN/CNNmodel.py", line 33, in forward x = self.conv2(x) File "/home/sdy/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl return forward_call(*input, **kwargs) File "/home/sdy/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/container.py", line 141, in forward input = module(input) File "/home/sdy/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl return forward_call(*input, **kwargs) File "/home/sdy/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 446, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/sdy/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward self.padding, self.dilation, self.groups) RuntimeError: [enforce fail at CPUAllocator.cpp:68] . DefaultCPUAllocator: can't allocate memory: you tried to allocate 21469593600 bytes. Error code 12 (Cannot allocate memory)
时间: 2023-08-11 11:08:53 浏览: 310
python 实现单例模式的5种方法
这个错误是由于无法分配足够的内存导致的。你尝试分配的内存大小为 21469593600 字节,但系统无法满足这个请求。
解决这个问题的方法之一是减少模型或输入数据的大小,以减少内存需求。你可以尝试使用更小的模型或缩小输入数据的尺寸。
另外,你也可以检查系统上的可用内存情况。可能是因为系统内存不足,无法满足所需的内存分配请求。在这种情况下,你可以尝试释放一些不必要的内存或重启系统来释放内存。
如果你正在使用 GPU,还可以尝试增加 GPU 的显存限制。可以使用 `torch.cuda.set_per_process_memory_fraction()` 函数来设置每个进程使用的 GPU 显存比例,以确保不会超出可用显存。
总之,你需要减少内存需求或增加可用内存来解决这个问题。
阅读全文