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

small update

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