coremltools
coremltools copied to clipboard
Failure at `assert "PackedParams" in node.output().type().name()` when converting Silero VAD
import torch
import coremltools as ct
import numpy as np
model, _ = torch.hub.load(
repo_or_dir="snakers4/silero-vad", model="silero_vad", force_reload=True
)
model.eval()
seconds_of_audio = 60
sample_rate = 16000
num_samples = sample_rate * seconds_of_audio
sample_input = torch.randn(1, num_samples, dtype=torch.float32)
input_features = [
ct.TensorType(name="audio_input", shape=sample_input.shape),
ct.TensorType(name="sequence_length", shape=ct.Shape((1,)), dtype=np.int64),
]
output_features = [ct.TensorType(name="output")]
coreml_model = ct.convert(
traced_model,
inputs=input_features,
outputs=output_features,
minimum_deployment_target=ct.target.iOS17,
skip_model_load=True,
)
coreml_model.save("SileroVAD.mlmodel")
Stack Trace
Traceback (most recent call last):
File "/silero-vad-to-coreml/convert.py", line 29, in <module>
coreml_model = ct.convert(
^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/_converters_entry.py", line 574, in convert
mlmodel = mil_convert(
^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 188, in mil_convert
return _mil_convert(model, convert_from, convert_to, ConverterRegistry, MLModel, compute_units, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 212, in _mil_convert
proto, mil_program = mil_convert_to_proto(
^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 286, in mil_convert_to_proto
prog = frontend_converter(model, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 108, in __call__
return load(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/load.py", line 71, in load
converter = TorchConverter(
^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/converter.py", line 349, in __init__
self.graph, self.params_dict, self.buffer_dict = InternalTorchIRGraph.from_torchscript(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/internal_graph.py", line 374, in from_torchscript
raw_graph, params_dict, buffer_dict = _expand_and_optimize_ir(torchscript)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/torchscript_utils.py", line 199, in _expand_and_optimize_ir
graph, params_dict, buffer_dict = _jit_pass_lower_graph(graph, torchscript)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/torchscript_utils.py", line 146, in _jit_pass_lower_graph
_lower_graph_block(graph)
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/torchscript_utils.py", line 109, in _lower_graph_block
_lower_graph_block(block)
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/torchscript_utils.py", line 131, in _lower_graph_block
is_quantized_tensor = _check_is_quantized_tensor(node, module)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.pyvenv/coreml/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/torchscript_utils.py", line 102, in _check_is_quantized_tensor
assert "PackedParams" in node.output().type().name()
^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'torch._C.TensorType' object has no attribute ‘name'
System environment
- coremltools version: 7.1
- OS (e.g. MacOS version or Linux type): macOS Sonoma 14.1.1
- torch: 2.1.1
Context
This is a Torch Script model.