最近在飞浆学习目标检测,教程先教了个检测黑白边界的案例。
w = np.array([1, 0, -1], dtype='float32')
w = w.reshape([1, 1, 1, 3])
img = np.ones([50,50], dtype='float32')
img[:, 30:] = 0.
x = img.reshape([1,1,50,50])
x = paddle.to_tensor(x)
这段代码先创建了一个二维数组,每行前30个数为1,后20个数为0,到这里都没问题。
但是在创建卷积算子并且开始做运算之后就报错,只输出了一段关于GPU和CUDA版本的信息
# 创建卷积算子,设置输入和输出通道数,卷积核大小,通过参数属性weight_attr用w初始化参数权重
conv = Conv2D(in_channels=1, out_channels=1, kernel_size=[1, 3],
weight_attr=paddle.ParamAttr(
initializer=Assign(value=w)))
y = conv(x)
out = y.numpy()
f = plt.subplot(121)
f.set_title('input image', fontsize=15)
plt.imshow(img, cmap='gray')
f = plt.subplot(122)
f.set_title('output featuremap', fontsize=15)plt.imshow(out.squeeze(), cmap='gray')
plt.show()
print(conv.weight)
print(conv.bias)