diff --git a/coremltools/converters/mil/mil/passes/defs/lower_complex_dialect_ops.py b/coremltools/converters/mil/mil/passes/defs/lower_complex_dialect_ops.py index 5fcac5ba2..2c37c9b1e 100644 --- a/coremltools/converters/mil/mil/passes/defs/lower_complex_dialect_ops.py +++ b/coremltools/converters/mil/mil/passes/defs/lower_complex_dialect_ops.py @@ -482,8 +482,9 @@ def _istft( # We need to adapt last dimension if length is not None: if length > expected_output_signal_len: - real_result = mb.pad(x=real_result, pad=, mode="constant", constant_val=0, before_op=before_op) - imag_result = mb.pad(x=imag_result, pad=, mode="constant", constant_val=0, before_op=before_op) + right_pad = mb.fill(shape=(channels, expected_output_signal_len - length), value=0., before_op=before_op) + real_result = mb.stack(x=(real_result, right_pad), axis=1, before_op=before_op) + imag_result = mb.stack(x=(imag_result, right_pad), axis=1, before_op=before_op) elif length < expected_output_signal_len: real_result = mb.slice_by_size(x=real_result, begin=[0], size=[length], before_op=before_op) imag_result = mb.slice_by_size(x=imag_result, begin=[0], size=[length], before_op=before_op)