coremltools Входной узел конвейера не связан с остальной частью модели - PullRequest
0 голосов
/ 20 февраля 2019

Я построил модель 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 Ответ

0 голосов
/ 20 февраля 2019

Отвечая на мой собственный вопрос: у меня был аргумент для image_input_names на 2-й модели в моем конвейере.Фактически, это не снимок, а просто тензор, так что, я полагаю, это каким-то образом сбило с толку строителя конвейера.При удалении записи image_input_names исправьте модель конвейера сразу.

Надеюсь, это поможет кому-то избежать времени в будущем.

...