You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by sk...@apache.org on 2018/08/15 16:31:41 UTC
[incubator-mxnet] branch master updated: Partially enable flaky
test for norm operator (#12027)
This is an automated email from the ASF dual-hosted git repository.
skm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/master by this push:
new 391377a Partially enable flaky test for norm operator (#12027)
391377a is described below
commit 391377aff635da0d79f5069ed7689c1ac3ea5c24
Author: Anirudh <an...@gmail.com>
AuthorDate: Wed Aug 15 09:31:31 2018 -0700
Partially enable flaky test for norm operator (#12027)
---
tests/python/unittest/test_operator.py | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git a/tests/python/unittest/test_operator.py b/tests/python/unittest/test_operator.py
index c395199..66e850f 100644
--- a/tests/python/unittest/test_operator.py
+++ b/tests/python/unittest/test_operator.py
@@ -3190,7 +3190,7 @@ def test_norm():
for order in [1, 2]:
for dtype in [np.float16, np.float32, np.float64]:
in_data = np.random.uniform(-1, 1, in_shape).astype(dtype)
- in_data[abs(in_data) < epsilon] = epsilon
+ in_data[abs(in_data) < epsilon] = 2 * epsilon
for i in range(in_data_dim):
norm_sym = mx.symbol.norm(data=data, ord=order, axis=i, keepdims=True)
npy_out = l1norm(in_data, i) if order is 1 else l2norm(in_data, i)
@@ -3204,20 +3204,22 @@ def test_norm():
atol=1e-2 if dtype is np.float16 else 1e-5, ctx=ctx)
# Disable numeric gradient https://github.com/apache/incubator-mxnet/issues/11509
# # check gradient
- # check_numeric_gradient(norm_sym, [in_data], numeric_eps=epsilon, rtol=1e-2, atol=1e-3)
- # if i < in_data_dim-1:
- # norm_sym = mx.symbol.norm(data=data, ord=order, axis=(i, i+1), keepdims=True)
- # npy_out = l1norm(in_data, (i, i+1)) if order is 1 else l2norm(in_data, (i, i+1))
- # npy_out_backward = np.sign(in_data) if order is 1 else in_data/npy_out
- # check_symbolic_forward(norm_sym, [in_data], [npy_out],
- # rtol=1e-2 if dtype is np.float16 else 1e-5,
- # atol=1e-2 if dtype is np.float16 else 1e-5, ctx=ctx)
- # check_symbolic_backward(norm_sym, [in_data], [np.ones(npy_out.shape)],
- # [npy_out_backward],
- # rtol=1e-2 if dtype is np.float16 else 1e-5,
- # atol=1e-2 if dtype is np.float16 else 1e-5, ctx=ctx)
- # # check gradient
- # check_numeric_gradient(norm_sym, [in_data], numeric_eps=epsilon, rtol=1e-2, atol=1e-3)
+ # if dtype is not np.float16:
+ # check_numeric_gradient(norm_sym, [in_data], numeric_eps=epsilon, rtol=1e-1, atol=1e-3)
+ if i < in_data_dim-1:
+ norm_sym = mx.symbol.norm(data=data, ord=order, axis=(i, i+1), keepdims=True)
+ npy_out = l1norm(in_data, (i, i+1)) if order is 1 else l2norm(in_data, (i, i+1))
+ npy_out_backward = np.sign(in_data) if order is 1 else in_data/npy_out
+ check_symbolic_forward(norm_sym, [in_data], [npy_out],
+ rtol=1e-2 if dtype is np.float16 else 1e-5,
+ atol=1e-2 if dtype is np.float16 else 1e-5, ctx=ctx)
+ check_symbolic_backward(norm_sym, [in_data], [np.ones(npy_out.shape)],
+ [npy_out_backward],
+ rtol=1e-2 if dtype is np.float16 else 1e-5,
+ atol=1e-2 if dtype is np.float16 else 1e-5, ctx=ctx)
+ # # check gradient
+ # if dtype is not np.float16:
+ # check_numeric_gradient(norm_sym, [in_data], numeric_eps=epsilon, rtol=1e-1, atol=1e-3)
def test_layer_norm():