main :: IO ()
main = defaultMain
            [ testGradientSimple
            , testGradientDisconnected
            , testGradientIncidental
            , testGradientPruning
            , testCreateGraphStateful
            , testCreateGraphNameScopes
            , testDiamond
            , testAddNGradient
            , testMeanGradient
            , testMeanGradGrad
            , testMaxGradient
            , testConcatGradient
            , testConcatGradientSimple
            , testConcatRunAndVerifyGradientsRandom
            , testMaximumGrad
            , testMaximumGradGrad
            , testReluGrad
            , testReluGradGrad
            , testTanhGrad
            , testSigmoidGrad
            , testExpandDims
            , testReshape
            , testPad
            , testSqrt
            , testSlice
            , testBatchToSpaceND
            , testSpaceToBatchND
            , testSqueeze
            , testFillGrad
            , testTileGrad
            , testTile2DGrad
            , testResizeBilinearGrad
            , matMulGradient
            , matMulGradGrad
            , matMulTransposeGradient (False, False)
            , matMulTransposeGradient (False, True)
            , matMulTransposeGradient (True, False)
            , matMulTransposeGradient (True, True)
            , batchMatMulGradient
            , batchMatMulGradGrad
            , batchMatMulAdjointGradient (False, False)
            , batchMatMulAdjointGradient (False, True)
            , batchMatMulAdjointGradient (True, False)
            , batchMatMulAdjointGradient (True, True)
            , testConv2DBackpropInputGrad
            , testDepthwiseConv2dGrad
            , testDepthwiseConv2dBackpropInputGrad
            ]
main :: IO ()
main = defaultMain
            [ testGradientSimple
            , testGradientDisconnected
            , testGradientIncidental
            , testGradientPruning
            , testCreateGraphStateful
            , testCreateGraphNameScopes
            , testDiamond
            , testAddNGradient
            , testMeanGradient
            , testMeanGradGrad
            , testMaxGradient
            , testConcatGradient
            , testConcatGradientSimple
            , testConcatRunAndVerifyGradientsRandom
            , testMaximumGrad
            , testMaximumGradGrad
            , testReluGrad
            , testReluGradGrad
            , testTanhGrad
            , testSigmoidGrad
            , testExpandDims
            , testReshape
            , testPad
            , testSqrt
            , testSlice
            , testBatchToSpaceND
            , testSpaceToBatchND
            , testSqueeze
            , testFillGrad
            , testTileGrad
            , testTile2DGrad
            , testResizeBilinearGrad
            , matMulGradient
            , matMulGradGrad
            , matMulTransposeGradient (False, False)
            , matMulTransposeGradient (False, True)
            , matMulTransposeGradient (True, False)
            , matMulTransposeGradient (True, True)
            , batchMatMulGradient
            , batchMatMulGradGrad
            , batchMatMulAdjointGradient (False, False)
            , batchMatMulAdjointGradient (False, True)
            , batchMatMulAdjointGradient (True, False)
            , batchMatMulAdjointGradient (True, True)
            , testConv2DBackpropInputGrad
            , testDepthwiseConv2dGrad
            , testDepthwiseConv2dBackpropInputGrad
            ]
main = defaultMain
            [ testGradientSimple
            , testGradientDisconnected
            , testGradientIncidental
            , testGradientPruning
            , testCreateGraphStateful
            , testCreateGraphNameScopes
            , testDiamond
            , testAddNGradient
            , testMeanGradient
            , testMeanGradGrad
            , testMaxGradient
            , testConcatGradient
            , testConcatGradientSimple
            , testConcatRunAndVerifyGradientsRandom
            , testMaximumGrad
            , testMaximumGradGrad
            , testReluGrad
            , testReluGradGrad
            , testTanhGrad
            , testSigmoidGrad
            , testExpandDims
            , testReshape
            , testPad
            , testSqrt
            , testSlice
            , testBatchToSpaceND
            , testSpaceToBatchND
            , testSqueeze
            , testFillGrad
            , testTileGrad
            , testTile2DGrad
            , testResizeBilinearGrad
            , matMulGradient
            , matMulGradGrad
            , matMulTransposeGradient (False, False)
            , matMulTransposeGradient (False, True)
            , matMulTransposeGradient (True, False)
            , matMulTransposeGradient (True, True)
            , batchMatMulGradient
            , batchMatMulGradGrad
            , batchMatMulAdjointGradient (False, False)
            , batchMatMulAdjointGradient (False, True)
            , batchMatMulAdjointGradient (True, False)
            , batchMatMulAdjointGradient (True, True)
            , testConv2DBackpropInputGrad
            , testDepthwiseConv2dGrad
            , testDepthwiseConv2dBackpropInputGrad
            ]