运行时错误:“将PyTorch模型转换为CoreML时,op'type_as'的PyTorch转换函数未实现。”

2024-05-19 01:36:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我在PyTorch中有一个机器学习模型保存为.pt文件,我正在尝试将其转换为CoreML模型。这是我的密码:

import coremltools as ct
import torch
import torchvision
from torchvision import transforms
from PIL import Image

# Image processing

input_image = Image.open("example.png")
input_image = input_image.convert('RGB')
preprocess = transforms.Compose([transforms.Resize((256, 256)), transforms.ToTensor(), transforms.Normalize(mean=[0.5, 0,2, 0.1], std=[0.5, 0.3, 0.7])])
input_tensor = preprocess(input_image)
input_batch = input_tensor.unsqueeze(0)

# Model loading and tracing

model = torch.load("model.pt")
trace = torch.jit.trace(model, input_batch)

# Convert model to CoreML

mlmodel = ct.convert(trace, inputs=[ct.ImageType(name="input_1", shape=input_batch.shape, bias=[1, 0.2/0.3, 0.1/0.7], scale = 1./(255*0.67))])


编辑:下面是完整的错误回溯:

这是我得到错误的最后一行,它是:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/_converters_entry.py", line 175, in convert
    mlmodel = mil_convert(
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/converter.py", line 128, in mil_convert
    proto = mil_convert_to_proto(model, convert_from, convert_to,
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/converter.py", line 171, in mil_convert_to_proto
    prog = frontend_converter(model, **kwargs)
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/converter.py", line 85, in __call__
    return load(*args, **kwargs)
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/load.py", line 81, in load
    raise e
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/load.py", line 73, in load
    prog = converter.convert()
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/converter.py", line 227, in convert
    convert_nodes(self.context, self.graph)
  File "/Users/aditya/miniconda3/lib/python3.8/site-packages/coremltools/converters/mil/frontend/torch/ops.py", line 54, in convert_nodes
    raise RuntimeError(
RuntimeError: PyTorch convert function for op 'type_as' not implemented.

我不知道这是什么意思。我如何解决它

谢谢


Tags: inpyconvertinputlibpackageslinesite

热门问题