提交 f948f053 authored 作者: nouiz's avatar nouiz

Merge pull request #601 from lamblin/disable_conv_subsample

Disable ConvOp grad when subsampling is not 1 or 2
...@@ -707,10 +707,9 @@ class ConvOp(Op): ...@@ -707,10 +707,9 @@ class ConvOp(Op):
if self.imshp != self.imshp_logical or self.kshp != self.kshp_logical: if self.imshp != self.imshp_logical or self.kshp != self.kshp_logical:
raise NotImplementedError('todo') raise NotImplementedError('todo')
#if self.dx!=1 or self.dy!=1: if self.dx not in (1, 2) or self.dy not in (1, 2):
#raise Exception("ERROR: We disable ConvOp.grad now when dx!=1 or "\ raise Exception("ERROR: We disable ConvOp.grad now when dx or "\
#"dy!=1 as we think their is a high probability of bug in it."\ "dy are different from 1 and 2, as there is a bug in it.")
#"We need to raise the error on the gradient to .1!")
all_shape = self.imshp is not None and self.kshp is not None and \ all_shape = self.imshp is not None and self.kshp is not None and \
self.nkern is not None and self.bsize is not None self.nkern is not None and self.bsize is not None
......
...@@ -203,6 +203,10 @@ class TestConv2D(unittest.TestCase): ...@@ -203,6 +203,10 @@ class TestConv2D(unittest.TestCase):
self.validate((3,2,7,5), (5,2,2,3), 'full', subsample=(2,2)) self.validate((3,2,7,5), (5,2,2,3), 'full', subsample=(2,2))
self.validate((3,2,7,5), (5,2,2,3), 'valid', subsample=(2,1)) self.validate((3,2,7,5), (5,2,2,3), 'valid', subsample=(2,1))
# Fails as of 2012-04-12
self.validate((1,1,6,6), (1,1,3,3), 'valid', subsample=(3,3))
def test_shape_Constant_tensor(self): def test_shape_Constant_tensor(self):
""" """
Tests convolution where the {image,filter}_shape is a Constant tensor. Tests convolution where the {image,filter}_shape is a Constant tensor.
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论