python - 运行时错误:“未实现 op 'type_as' 的 PyTorch 转换功能。” 将 PyTorch 模型转换为 CoreML 时
问题描述
我在 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.
我不确定这意味着什么。我该如何解决?
谢谢!
解决方案
推荐阅读
- javafx - JavaFX XYChart 高频刷新
- neo4j - jQAssistant:商店重置是如何工作的?
- php - 如何判断字符串是否已通过 PHP 中的 htmlentities 传递?它需要 html_entity_decode 吗?
- flutter - Android Studio Flutter Suggestions 在我们输入时没有立即显示
- python - 部署在服务器 Django/Python 上时相机未打开
- deployment - 保存经过训练的 Detectron2 模型并对单个图像进行预测
- android-studio - PhonePe 应用程序在 Play 商店中显示 4.1.15 版本,我的手机安装版本显示为 4.1.17
- python - 如何根据原始图像和去噪图像获得噪声?
- php - php中的mongodb批量查找和删除操作
- javascript - angular/javascript 解析并仅获取 paramMap 的值