testMaximumGradGrad :: Test
testMaximumGradGrad = testCase "testMaximumGradGrad" $ do
    [ggx] <- TF.runSession $ do
        x <- TF.render $ TF.vector [2 :: Float]
        y <- TF.render $ TF.vector [1 :: Float]
        let z = TF.maximum x y
        [gx, _gy] <- TF.gradients z [x, y]
        TF.gradients gx [x] >>= TF.run
    V.fromList [0] @=? ggx
testMaximumGradGrad :: Test
testMaximumGradGrad = testCase "testMaximumGradGrad" $ do
    [ggx] <- TF.runSession $ do
        x <- TF.render $ TF.vector [2 :: Float]
        y <- TF.render $ TF.vector [1 :: Float]
        let z = TF.maximum x y
        [gx, _gy] <- TF.gradients z [x, y]
        TF.gradients gx [x] >>= TF.run
    V.fromList [0] @=? ggx
testMaximumGradGrad = testCase "testMaximumGradGrad" $ do
    [ggx] <- TF.runSession $ do
        x <- TF.render $ TF.vector [2 :: Float]
        y <- TF.render $ TF.vector [1 :: Float]
        let z = TF.maximum x y
        [gx, _gy] <- TF.gradients z [x, y]
        TF.gradients gx [x] >>= TF.run
    V.fromList [0] @=? ggx