From e4bb7c2df8deb4b0735f4867b746eb975260dba6 Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <maltanar@gmail.com> Date: Fri, 7 Feb 2020 18:30:03 +0100 Subject: [PATCH] [Refactor] move onnx-importing util to own file --- src/finn/core/modelwrapper.py | 7 ++++--- src/finn/util/basic.py | 10 ---------- src/finn/util/onnx.py | 11 +++++++++++ 3 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 src/finn/util/onnx.py diff --git a/src/finn/core/modelwrapper.py b/src/finn/core/modelwrapper.py index 3b541b06e..1d5d3a978 100644 --- a/src/finn/core/modelwrapper.py +++ b/src/finn/core/modelwrapper.py @@ -6,6 +6,7 @@ import onnx.numpy_helper as np_helper from onnx import TensorProto import finn.util.basic as util +import finn.util.onnx as onnxutil from finn.core.datatype import DataType @@ -248,14 +249,14 @@ class ModelWrapper: graph = self._model_proto.graph # make empty tensors for all the graph inputs and outputs for vi in graph.input: - new_tensor = util.valueinfo_to_tensor(vi) + new_tensor = onnxutil.valueinfo_to_tensor(vi) execution_context[vi.name] = new_tensor for vi in graph.output: - new_tensor = util.valueinfo_to_tensor(vi) + new_tensor = onnxutil.valueinfo_to_tensor(vi) execution_context[vi.name] = new_tensor # make empty tensors for all intermediate buffers for vi in graph.value_info: - new_tensor = util.valueinfo_to_tensor(vi) + new_tensor = onnxutil.valueinfo_to_tensor(vi) execution_context[vi.name] = new_tensor # fill in the constants provided by the initializers (TensorProto to npy) for t in graph.initializer: diff --git a/src/finn/util/basic.py b/src/finn/util/basic.py index 44a44ae12..6fc357dcc 100644 --- a/src/finn/util/basic.py +++ b/src/finn/util/basic.py @@ -5,7 +5,6 @@ import subprocess import tempfile import numpy as np -import onnx from finn.core.datatype import DataType @@ -38,15 +37,6 @@ def make_build_dir(prefix=""): ) -def valueinfo_to_tensor(vi): - """Creates an all-zeroes numpy tensor from a ValueInfoProto.""" - - dims = [x.dim_value for x in vi.type.tensor_type.shape.dim] - return np.zeros( - dims, dtype=onnx.mapping.TENSOR_TYPE_TO_NP_TYPE[vi.type.tensor_type.elem_type] - ) - - def get_by_name(container, name, name_field="name"): """Return item from container by .name field if it exists, None otherwise""" names = [getattr(x, name_field) for x in container] diff --git a/src/finn/util/onnx.py b/src/finn/util/onnx.py new file mode 100644 index 000000000..b49c3b223 --- /dev/null +++ b/src/finn/util/onnx.py @@ -0,0 +1,11 @@ +import numpy as np +import onnx + + +def valueinfo_to_tensor(vi): + """Creates an all-zeroes numpy tensor from a ValueInfoProto.""" + + dims = [x.dim_value for x in vi.type.tensor_type.shape.dim] + return np.zeros( + dims, dtype=onnx.mapping.TENSOR_TYPE_TO_NP_TYPE[vi.type.tensor_type.elem_type] + ) -- GitLab