If gradient2 or gradient1 are zero, then BOOST_REQUIRE_CLOSE will fail, so use
BOOST_REQUIRE_SMALL in those situations.
This commit is contained in:
@@ -176,8 +176,15 @@ BOOST_AUTO_TEST_CASE(RegularizedSVDFunctionGradient)
|
||||
parameters(i, j) += epsilon;
|
||||
|
||||
// Compare numerical and backpropagation gradient values.
|
||||
BOOST_REQUIRE_CLOSE(numGradient1, gradient1(i, j), 1e-2);
|
||||
BOOST_REQUIRE_CLOSE(numGradient2, gradient2(i, j), 1e-2);
|
||||
if (gradient1(i, j) == 0.0)
|
||||
BOOST_REQUIRE_SMALL(numGradient1, 1e-5);
|
||||
else
|
||||
BOOST_REQUIRE_CLOSE(numGradient1, gradient1(i, j), 1e-2);
|
||||
|
||||
if (graident2(i, j) == 0.0)
|
||||
BOOST_REQUIRE_SMALL(numGradient2, 1e-5);
|
||||
else
|
||||
BOOST_REQUIRE_CLOSE(numGradient2, gradient2(i, j), 1e-2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user