Можно ли изменить тип входного тензора в модели coreml с нескольких массивов на изображение? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть модель coreml с этими параметрами, и я хочу изменить тип входного тензора с Multiarray с формами (112,112,3) на RGB-изображение (112,112)

Core ML input(s):
[name: "input_to_float__0"
type {
multiArrayType {
shape: 3
shape: 112
shape: 112
dataType: DOUBLE
}
}
]
Core ML output(s):
[name: "logits__BiasAdd__0"
type {
multiArrayType {
shape: 80
dataType: DOUBLE
} 
}
]

enter image description here

Возможно ли это сделать?

Как я могу это сделать?

1 Ответ

1 голос
/ 24 сентября 2019

Проще всего указать это при преобразовании модели в Core ML (используя image_input_names).

Но вы также можете исправить это, используя немного Python:

import coremltools
import coremltools.proto.FeatureTypes_pb2 as ft
spec = coremltools.utils.load_spec("YourModel.mlmodel")
input = spec.description.input[0]
input.type.imageType.colorSpace = ft.ImageFeatureType.RGB
input.type.imageType.height = 112
input.type.imageType.width = 112
coremltools.utils.save_spec(spec, "YourNewModel.mlmodel")
...