Add support for input image with int8_t format Add support for input imsage with int8_t format (e.g., for HPS model) Change-Id: I7084af19fcb15f9ca66fcb5f881a127dc349a953
diff --git a/build_tools/gen_mlmodel_input.py b/build_tools/gen_mlmodel_input.py index fb87b3a..bbcd8d0 100755 --- a/build_tools/gen_mlmodel_input.py +++ b/build_tools/gen_mlmodel_input.py
@@ -36,6 +36,8 @@ help='Indicate it is quant model (default: False)') parser.add_argument('--r', dest='float_input_range', default="-1.0, 1.0", help='Float model input range (default: "-1.0, 1.0")') +parser.add_argument('--sgn', dest='is_signed', action='store_true', + help='Indicate the input is signed (default: False)') args = parser.parse_args() @@ -50,7 +52,7 @@ file.write(struct.pack("<f", d)) -def gen_mlmodel_input(input_name, output_file, input_shape, is_quant): +def gen_mlmodel_input(input_name, output_file, input_shape, is_quant, is_signed): if not os.path.exists(input_name): raise RuntimeError("Input file %s doesn't exist" % {input_name}) if len(input_shape) < 3: @@ -73,6 +75,8 @@ low = np.min(float_input_range) high = np.max(float_input_range) input = (high - low) * input / 255.0 + low + elif is_signed: + input -= 128 write_binary_file(output_file, input, is_quant, is_audio) @@ -81,4 +85,4 @@ input_shape = [int(x) for x in args.input_shape.split(',')] float_input_range = [float(x) for x in args.float_input_range.split(',')] gen_mlmodel_input(args.input_name, args.output_file, - input_shape, args.is_quant) + input_shape, args.is_quant, args.is_signed)
diff --git a/cmake/iree_model_input.cmake b/cmake/iree_model_input.cmake index 0871799..578e53a 100644 --- a/cmake/iree_model_input.cmake +++ b/cmake/iree_model_input.cmake
@@ -26,7 +26,7 @@ function(iree_model_input) cmake_parse_arguments( _RULE - "QUANT" + "QUANT;SIGNED" "NAME;SHAPE;SRC;RANGE" "" ${ARGN} @@ -62,6 +62,9 @@ if(_RULE_QUANT) list(APPEND _ARGS "--q") endif() + if(_RULE_SIGNED) + list(APPEND _ARGS "--sgn") + endif() # Replace dependencies passed by ::name with iree::package::name iree_package_ns(_PACKAGE_NS)