Ввод изображения для модели Python Tensorflow в CoreML

Я реализую простую модель классификации изображений с тензорным потоком (Python).

Вот моя предварительная обработка изображения:

import glob
for filename in glob.glob('/Volumes/G-DRIVE mobile USB-C/traan/*.jpeg'): #assuming jpeg
    im=Image.open(filename)
    im = im.resize((150,120), Image.ANTIALIAS)
    print(im.size)
    training_images.append(im)

А вот моя очень простая модель:

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(120, 150, 3)),
    keras.layers.Dense(512, activation=tf.nn.relu),
    keras.layers.Dense(256, activation=tf.nn.relu),
    keras.layers.Dense(128, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])

Я хочу загрузить эту модель в CoreML примерно так,

import coremltools

modelCoreML = coremltools.converters.tensorflow.convert(model, input_feature, output_feature)
modelCoreML.save("Model.mlmodel")

Но как мне сделать это, где я могу ввести изображение, а не стеком? Должен ли я обработать изображение и преобразовать его в нужный формат в самом приложении, а затем поместить его в модель? Как бы я это сделал?

1 ответ

Вы должны поставить image_input_names аргумент coremltools.converters.keras.convert() так что coremltools знает, какие входные данные следует рассматривать как изображения. Это объясняется в документации.

Другие вопросы по тегам