提交 00b9c98c authored 作者: Nicolas Ballas's avatar Nicolas Ballas 提交者: Pascal Lamblin

small update

上级 28c12391
......@@ -137,15 +137,26 @@ class TestConv2d(unittest.TestCase):
def abstract_conv2d_gradweight(inputs_val, output_val):
conv_op = conv.AbstractConv2d_gradWeights(border_mode=border_mode, subsample=subsample)
return conv_op(inputs_val, output_val, filters_shape[-2:])
def cudnn_gradweight(inputs_val, output_val):
c_ref = ref(inputs, output,
filters_shape,
border_mode=border_mode,
subsample=subsample,
conv_mode=conv_mode)
return c_ref
if verify_grad:
utt.verify_grad(abstract_conv2d_gradweight, [inputs_val, output_val],
mode=mode)
#utt.verify_grad(abstract_conv2d_gradweight, [inputs_val, output_val],
# mode=mode)
utt.verify_grad(cudnn_gradweight, [inputs_val, output_val], mode=mode)
def run_gradinput(self, inputs_shape, filters_shape, output_shape, ref=dnn_gradweight,
def run_gradinput(self, inputs_shape, filters_shape, output_shape, ref=dnn_gradinput,
subsample=(1, 1), filters_flip=True, verify_grad=True, mode=mode_without_gpu,
border_mode='valid', device='cpu', provide_shape = False):
output_val = numpy.random.random(output_shape).astype('float32')
filters_val = numpy.random.random(filters_shape).astype('float32')
if device == 'gpu':
......@@ -205,12 +216,12 @@ class TestConv2d(unittest.TestCase):
provide_shape=provide_shape, border_mode=b)
self.run_gradweight(inputs_shape=i, filters_shape=f,
output_shape=o, subsample=s,
verify_grad=True, mode=mode, device='gpu',
verify_grad=False, mode=mode, device='gpu',
provide_shape=provide_shape, border_mode=b)
self.run_gradinput(inputs_shape=i, filters_shape=f,
output_shape=o, subsample=s,
verify_grad=True, mode=mode, device='gpu',
provide_shape=provide_shape, border_mode=border_mode)
verify_grad=False, mode=mode, device='gpu',
provide_shape=provide_shape, border_mode=b)
def test_cormm_conv(self):
mode = mode_with_gpu.excluding('cudnn')
......@@ -229,12 +240,12 @@ class TestConv2d(unittest.TestCase):
provide_shape=provide_shape, border_mode=b)
self.run_gradweight(inputs_shape=i, filters_shape=f,
output_shape=o, subsample=s,
verify_grad=True, mode=mode, device='gpu',
verify_grad=False, mode=mode, device='gpu',
provide_shape=provide_shape, border_mode=b)
self.run_gradinput(inputs_shape=i, filters_shape=f,
output_shape=o, subsample=s,
verify_grad=True, mode=mode, device='gpu',
provide_shape=provide_shape, border_mode=border_mode)
verify_grad=False, mode=mode, device='gpu',
provide_shape=provide_shape, border_mode=b)
......@@ -258,9 +269,9 @@ class TestConv2d(unittest.TestCase):
provide_shape=provide_shape, border_mode=b)
self.run_gradweight(inputs_shape=i, filters_shape=f,
output_shape=o, subsample=s,
verify_grad=True, mode=mode, device='cpu',
verify_grad=False, mode=mode, device='cpu',
provide_shape=provide_shape, border_mode=b)
self.run_gradinput(inputs_shape=i, filters_shape=f,
output_shape=o, subsample=s,
verify_grad=True, mode=mode, device='cpu',
provide_shape=provide_shape, border_mode=border_mode)
verify_grad=False, mode=mode, device='cpu',
provide_shape=provide_shape, border_mode=b)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论