Ввод изображения для модели 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 знает, какие входные данные следует рассматривать как изображения. Это объясняется в документации.