cjolivier01 closed pull request #8758: Explicitly convert float value URL: https://github.com/apache/incubator-mxnet/pull/8758
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/python/mxnet/ndarray/ndarray.py b/python/mxnet/ndarray/ndarray.py index 91d0e03e3d..a45a6a8247 100644 --- a/python/mxnet/ndarray/ndarray.py +++ b/python/mxnet/ndarray/ndarray.py @@ -691,7 +691,7 @@ def _set_nd_basic_indexing(self, key, value): value.copyto(self) elif isinstance(value, numeric_types): _internal._full(shape=shape, ctx=self.context, - dtype=self.dtype, value=value, out=self) + dtype=self.dtype, value=float(value), out=self) elif isinstance(value, (np.ndarray, np.generic)): if isinstance(value, np.generic) or value.shape != shape: value = np.broadcast_to(value, shape) diff --git a/tests/python/unittest/test_ndarray.py b/tests/python/unittest/test_ndarray.py index 8e1f68fd62..5512b07c77 100644 --- a/tests/python/unittest/test_ndarray.py +++ b/tests/python/unittest/test_ndarray.py @@ -926,6 +926,16 @@ def test_getitem_autograd(np_array, index): test_getitem_autograd(np_array, index[0]) +def test_assign_float_value_to_ndarray(): + """Test case from https://github.com/apache/incubator-mxnet/issues/8668""" + a = np.array([47.844944], dtype=np.float32) + b = mx.nd.zeros(1, dtype=np.float32) + b[0] = a + assert same(a, b.asnumpy()) + b[0] = a[0] + assert same(a, b.asnumpy()) + + if __name__ == '__main__': import nose nose.runmodule() ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services