【问题标题】:Conversion pytorch to coreml for element-wise maximum operation将 pytorch 转换为 coreml 以实现逐元素最大操作
【发布时间】:2021-04-11 02:02:01
【问题描述】:
我尝试将 PyTorch 模型转换为基于 coremltools 的元素最大操作的 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.
有解决这个问题的办法吗?
【问题讨论】:
标签:
python
pytorch
coreml
coremltools
【解决方案1】:
我在将 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)