This is an automated email from the ASF dual-hosted git repository.

nswamy 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 f5cef48  ONNX export: Scalar, Reshape - Set appropriate tensor type 
(#13067)
f5cef48 is described below

commit f5cef48161b5864ce49692b0e4b3bf4b452b7d72
Author: Vandana Kannan <[email protected]>
AuthorDate: Sun Nov 4 09:30:28 2018 -0800

    ONNX export: Scalar, Reshape - Set appropriate tensor type (#13067)
    
    np.array sets default dtype to float64 which is
    not supported by ONNX. Setting these to appropriate type.
---
 python/mxnet/contrib/onnx/mx2onnx/_op_translations.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/python/mxnet/contrib/onnx/mx2onnx/_op_translations.py 
b/python/mxnet/contrib/onnx/mx2onnx/_op_translations.py
index 11e75d9..fb2e697 100644
--- a/python/mxnet/contrib/onnx/mx2onnx/_op_translations.py
+++ b/python/mxnet/contrib/onnx/mx2onnx/_op_translations.py
@@ -843,7 +843,9 @@ def scalar_op_helper(node, op_name, **kwargs):
     """Helper function for scalar arithmetic operations"""
     name, input_nodes, attrs = get_inputs(node, kwargs)
 
-    scalar_value = [float(attrs.get("scalar", 1))]
+    input_type = kwargs["in_type"]
+    scalar_value = np.array([attrs.get("scalar", 1)],
+                            
dtype=onnx.mapping.TENSOR_TYPE_TO_NP_TYPE[input_type])
 
     initializer = kwargs["initializer"]
     flag = True
@@ -864,17 +866,15 @@ def scalar_op_helper(node, op_name, **kwargs):
 
     # else create a new tensor of the scalar value, add it in initializer
     if flag is True:
-        np_arr = np.array(scalar_value)
-        data_type = onnx.mapping.NP_TYPE_TO_TENSOR_TYPE[np_arr.dtype]
-        dims = np.shape(np_arr)
+        dims = np.shape(scalar_value)
 
         scalar_op_name = "scalar_op" + str(kwargs["idx"])
-        tensor_node = onnx.helper.make_tensor_value_info(scalar_op_name, 
data_type, dims)
+        tensor_node = onnx.helper.make_tensor_value_info(scalar_op_name, 
input_type, dims)
 
         initializer.append(
             onnx.helper.make_tensor(
                 name=scalar_op_name,
-                data_type=data_type,
+                data_type=input_type,
                 dims=dims,
                 vals=scalar_value,
                 raw=False,
@@ -1249,7 +1249,7 @@ def convert_reshape(node, **kwargs):
     output_shape_list = convert_string_to_list(attrs["shape"])
 
     initializer = kwargs["initializer"]
-    output_shape_np = np.array(output_shape_list)
+    output_shape_np = np.array(output_shape_list, dtype='int64')
     data_type = onnx.mapping.NP_TYPE_TO_TENSOR_TYPE[output_shape_np.dtype]
     dims = np.shape(output_shape_np)
 

Reply via email to