@@ -24,15 +24,14 @@ prop_im2col_col2im_symmetrical_with_kernel_stride =
2424 in property $ do
2525 height <- forAll $ choose 2 100
2626 width <- forAll $ choose 2 100
27− kernel_h <- forAll $ (height `div`) <$> Gen.element (factors height)
28− kernel_w <- forAll $ (width `div`) <$> Gen.element (factors width)
29− input <- forAll $ Gen.list (Range.singleton $ height * width) (Gen.realFloat $ Range.linearFracFrom 0 (-100) 100)
27+ kernel_h <- forAll $ (height `div`) <$> Gen.element (factors height)
28+ kernel_w <- forAll $ (width `div`) <$> Gen.element (factors width)
29+ input <- forAll $ (height >< width) <$> Gen.list (Range.singleton $ height * width) (Gen.realFloat $ Range.linearFracFrom 0 (-100) 100)
3030
31− let input' = (height >< width) input
3231 let stride_h = kernel_h
3332 let stride_w = kernel_w
34− let out = col2im kernel_h kernel_w stride_h stride_w height width . im2col kernel_h kernel_w stride_h stride_w $ input'
35− input' === out
33+ let out = col2im kernel_h kernel_w stride_h stride_w height width . im2col kernel_h kernel_w stride_h stride_w $ input
34+ input === out
3635
3736prop_im2col_col2im_behaves_as_reference =
3837 let ok extent kernel = [stride | stride <- [1..extent], (extent - kernel) `mod` stride == 0]
@@ -43,12 +42,12 @@ prop_im2col_col2im_behaves_as_reference =
4342 kernel_w <- forAll (choose 2 (width - 1))
4443 stride_h <- forAll (Gen.element (ok height kernel_h))
4544 stride_w <- forAll (Gen.element (ok width kernel_w))
46− input <- forAll ( Gen.list (Range.singleton $ height * width) (Gen.realFloat $ Range.linearFracFrom 0 (-100) 100))
47− let input' = (height >< width) input
48− let outFast = im2col kernel_h kernel_w stride_h stride_w input'
45+ input <- forAll ((height >< width) <$> Gen.list (Range.singleton $ height * width) (Gen.realFloat $ Range.linearFracFrom 0 (-100) 100))
46+
47+ let outFast = im2col kernel_h kernel_w stride_h stride_w input
4948 let retFast = col2im kernel_h kernel_w stride_h stride_w height width outFast
5049
51− let outReference = Reference.im2col kernel_h kernel_w stride_h stride_w input'
50+ let outReference = Reference.im2col kernel_h kernel_w stride_h stride_w input
5251 let retReference = Reference.col2im kernel_h kernel_w stride_h stride_w height width outReference
5352
5453 outFast === outReference