将 pytorch 转换为 coreml 以进行元素最大操作

Conversion pytorch to coreml for element-wise maximum operation

我尝试使用基于 coremltools 的元素最大操作将 PyTorch 模型转换为 coreml。

通过torch.max操作,得到了

ValueError: node input.2 (max) got 2 input(s), expected [3]

使用 torch.maximum 操作

RuntimeError: PyTorch convert function for op 'maximum' not implemented.

有解决此问题的想法吗?

我在使用 pytorch element-wise 操作转换为 coreml 模型时遇到了同样的问题,但通过为带有 torch 前端的 MIL 转换器添加对 torch.maximum 和 torch.minimum 的支持解决了这个问题。

@register_torch_op
def maximum(context, node):
    inputs = _get_inputs(context, node)
    x = inputs[0]
    y = inputs[1]
    out = mb.maximum(x=x, y=y, name=node.name)
    context.add(out)