1 系统环境
- 硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU
- MindSpore版本: mindformer =2.1.0
- 执行模式(PyNative/ Graph): 不限
- Python版本: Python=3.10
- 操作系统平台: Ubuntu18.04
2 报错信息
2.1 脚本信息
import mindspore
from mindspore import Tensor, nn, ops
import numpy as np
class TestNet(nn.Cell):
def __init__(self):
super(Net, self).__init__()
self.pad = nn.Pad(paddings=((0, 0), (0, 999999)))
def construct(self, x):
return self.pad(x)
x = Tensor(np.random.randn(9999, 9999))
pad = TestNet()
output = pad(x)
2.2 报错信息
该报错在开启Padding的Conv2d,DepthwiseConv2d,MaxPooling,AveragePooling等多个算子执行时均会出现。
For ‘Pad’, output buffer memset failed.
3 根因分析
参数设置过大,显存不足,无法执行.
4 解决方案
降低参数值
import mindspore
from mindspore import Tensor, nn, ops
import numpy as np
class TestNet(nn.Cell):
def __init__(self):
super(Net, self).__init__()
self.pad = nn.Pad(paddings=((0, 0), (0, 99)))
def construct(self, x):
return self.pad(x)
x = Tensor(np.random.randn(99, 99))
pad = TestNet()
output = pad(x)