coremltools Входной узел конвейера не связан с остальной частью модели
Я построил модель Encoder/Decoder (в PyTorch), сохраненную как две отдельные mlmodel
объекты. Я хочу собрать их вместе в coremltools.models.pipeline
в целях эффективности. С двумя входными моделями, сохраненными на диск, это то, что я использую для построения конвейера:
from coremltools.models.pipeline import *
from coremltools.models import datatypes
input_features = [('distorted_input', datatypes.Array(28*28))]
output_features = ['z_distribution', 'rectified_input']
pipeline = Pipeline(input_features, output_features)
pipeline.add_model(enc_mlmodel)
pipeline.add_model(dec_mlmodel)
pipeline_model = coremltools.models.MLModel(pipeline.spec)
pipeline_model.save('inputFixerPipeline.mlmodel')
Создание конвейера проходит нормально, но сохраненная модель не может подключить вход - т.е., глядя на модель в Netron, я вижу, что distorted_input
узел просто висит сам по себе. Остальная часть конвейера кажется правильной.
Какие-нибудь мысли?
1 ответ
Отвечая на мой собственный вопрос: у меня был аргумент для image_input_names
на 2-й модели в моем трубопроводе. Фактически, это не снимок, а просто тензор, так что, я полагаю, это каким-то образом сбило с толку строителя конвейера. Удаление image_input_names
Вступление исправить модель трубопровода сразу.
Надеюсь, это поможет кому-то избежать времени в будущем.