Можно ли изменить тип входного тензора в модели coreml с multiarray на image?

У меня есть модель 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
} 
}
]

введите здесь описание изображения

Возможно ли это?

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


person abdou_dev    schedule 24.09.2019    source источник


Ответы (1)


Проще всего указать это при преобразовании модели в 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")
person Matthijs Hollemans    schedule 24.09.2019
comment
Я решил свою проблему, нашел решение на github, и он отлично работает, спасибо за ответ - person abdou_dev; 24.09.2019