in src/exporters/coreml/models.py [0:0]
def patch_pytorch_ops(self):
# There is no bicubic upsampling in Core ML, so we'll have to use bilinear.
# Still seems to work well enough. Note: the bilinear resize is applied to
# constant tensors, so we could actually remove this op completely!
def upsample_bicubic2d(context, node):
from coremltools.converters.mil import Builder as mb
a = context[node.inputs[0]]
b = context[node.inputs[1]]
x = mb.resize_bilinear(x=a, target_size_height=b.val[0], target_size_width=b.val[1], name=node.name)
context.add(x)
return {"upsample_bicubic2d": upsample_bicubic2d}