提交 e4f276a5 authored 作者: --global's avatar --global

Add shape test for conv3d gradi

上级 bf409613
......@@ -769,6 +769,51 @@ class TestDnnInferShapes(utt.InferShapeTester):
dnn.GpuDnnConvGradI
)
def test_conv3d_gradi(self):
if not dnn.dnn_available():
raise SkipTest(dnn.dnn_available.msg)
ftensor5 = T.TensorType(dtype="float32", broadcastable=(False,) * 5)
img = ftensor5('img')
kerns = ftensor5('kerns')
out = ftensor5('out')
img_val = numpy.asarray(
numpy.random.rand(8, 4, 6, 7, 5),
dtype='float32'
)
kern_vals = numpy.asarray(
numpy.random.rand(9, 4, 5, 1, 2),
dtype='float32'
)
for params in product(
['valid', 'full'],
[(1, 1, 1), (2, 2, 2)],
['conv', 'cross']
):
out_vals = numpy.zeros(
dnn.GpuDnnConv3d.get_out_shape(img_val.shape, kern_vals.shape,
border_mode=params[0],
subsample=params[1]),
dtype='float32')
desc = dnn.GpuDnnConvDesc(
border_mode=params[0],
subsample=params[1],
conv_mode=params[2]
)(kerns.shape, out.shape)
conv_grad_i = dnn.GpuDnnConv3dGradI()(
kerns,
out,
img,
desc,
)
self._compile_and_check(
[kerns, out, img],
[conv_grad_i],
[kern_vals, out_vals, img_val],
dnn.GpuDnnConv3dGradI
)
def test_pool(self):
if not dnn.dnn_available():
raise SkipTest(dnn.dnn_available.msg)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论