coremltools
coremltools copied to clipboard
ValueError: # of input channels is44 not divisible by groups 1
Description
coremltools.convert will unnecessarily raise an exception if C_in is a Symbol here.
Stack Trace
Traceback (most recent call last):
File "/home/sniklaus/Downloads/bidir_conversion.py", line 436, in <module>
objModel = coremltools.convert(
^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/_converters_entry.py", line 581, in convert
mlmodel = mil_convert(
^^^^^^^^^^^^
File "coremltools/converters/mil/converter.py", line 188, in mil_convert
return _mil_convert(model, convert_from, convert_to, ConverterRegistry, MLModel, compute_units, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/converter.py", line 212, in _mil_convert
proto, mil_program = mil_convert_to_proto(
^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/converter.py", line 288, in mil_convert_to_proto
prog = frontend_converter(model, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/converter.py", line 108, in __call__
return load(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/frontend/torch/load.py", line 82, in load
return _perform_torch_convert(converter, debug)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/frontend/torch/load.py", line 116, in _perform_torch_convert
prog = converter.convert()
^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/frontend/torch/converter.py", line 581, in convert
convert_nodes(self.context, self.graph)
File "coremltools/converters/mil/frontend/torch/ops.py", line 86, in convert_nodes
raise e # re-raise exception
^^^^^^^
File "coremltools/converters/mil/frontend/torch/ops.py", line 81, in convert_nodes
convert_single_node(context, node)
File "coremltools/converters/mil/frontend/torch/ops.py", line 134, in convert_single_node
add_op(context, node)
File "coremltools/converters/mil/frontend/torch/ops.py", line 1088, in _convolution
conv = mb.conv(**kwargs)
^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/mil/ops/registry.py", line 182, in add_op
return cls._add_op(op_cls_to_add, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/mil/builder.py", line 202, in _add_op
new_op.type_value_inference()
File "coremltools/converters/mil/mil/operation.py", line 258, in type_value_inference
output_types = self.type_inference()
^^^^^^^^^^^^^^^^^^^^^
File "coremltools/converters/mil/mil/ops/defs/iOS15/conv.py", line 165, in type_inference
raise ValueError(msg.format(C_in, groups))
ValueError: # of input channels is44 not divisible by groups 1
To Reproduce
I am afraid that I can't share the model details here since it is proprietary, my apologies.
System
- coremltools version:
7.2 - OS (e.g. MacOS version or Linux type): Debian 13
- PyTorch version:
2.1.2