on master help sign in
Move more into the forAll for nicer diffs
commitffbbbf222f010baa5b508fee0888fe32e1fa5e13 authorHuw Campbell <huw.campbell@ambiata.com> dateMon 10 Apr 2017, 14:45 (10 years ago) parent56686db
2 files changed+14−16
test/Test/Grenade/Layers/Internal/Convolution.hs+9−10 test/Test/Grenade/Layers/Internal/Pooling.hs+5−6
test/Test/Grenade/Layers/Internal/Convolution.hs+9−10
@@ -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
test/Test/Grenade/Layers/Internal/Pooling.hs+5−6
@@ -29,14 +29,13 @@ prop_poolForwards_poolBackwards_behaves_as_reference =
2929 kernel_w <- forAll $ choose 1 (width - 1)
3030 stride_h <- forAll $ Gen.element (ok height kernel_h)
3131 stride_w <- forAll $ Gen.element (ok width kernel_w)
32− input <- forAll $ Gen.list (Range.singleton $ height * width) (Gen.realFloat $ Range.linearFracFrom 0 (-100) 100)
32+ input <- forAll $ (height >< width) <$> Gen.list (Range.singleton $ height * width) (Gen.realFloat $ Range.linearFracFrom 0 (-100) 100)
3333
34− let input' = (height >< width) input
35− let outFast = poolForward 1 height width kernel_h kernel_w stride_h stride_w input'
36− let retFast = poolBackward 1 height width kernel_h kernel_w stride_h stride_w input' outFast
34+ let outFast = poolForward 1 height width kernel_h kernel_w stride_h stride_w input
35+ let retFast = poolBackward 1 height width kernel_h kernel_w stride_h stride_w input outFast
3736
38− let outReference = Reference.poolForward kernel_h kernel_w stride_h stride_w (output height kernel_h stride_h) (output width kernel_w stride_w) input'
39− let retReference = Reference.poolBackward kernel_h kernel_w stride_h stride_w input' outReference
37+ let outReference = Reference.poolForward kernel_h kernel_w stride_h stride_w (output height kernel_h stride_h) (output width kernel_w stride_w) input
38+ let retReference = Reference.poolBackward kernel_h kernel_w stride_h stride_w input outReference
4039
4140 outFast === outReference
4241 retFast === retReference