Перенос обучения с функцией предварительной обработки ImageDataGenerator и tflite на android

Фон

Я пытаюсь выполнить переносное обучение с помощью elasticNet. Я импортировал модель, добавил пару слоев и обучил их (я больше не тренировал всю модель).

Я использовал ImageDataGenerator от Keras и использовал связанную с ним функцию предварительной обработки для предварительной обработки изображений keras.applications.densenet.preprocess_input

Тренировка прошла отлично!

Я преобразовал модель в tflite и использовал образец кода, предоставленный tenorflow, чтобы использовать модель на Android.

Вопрос

Как я могу сделать такую ​​же предварительную обработку изображений, взятых с устройства Android. Потому что я пытался снимать изображения и напрямую загружать их в модель, но производительность была очень плохой, очевидно из-за того, что они не были предварительно обработаны.

Есть ли информация о том, как математически выполнить функцию предварительной обработки strongNet с помощью tflite?

Мы будем благодарны за любое другое решение.


person Osama Fityani    schedule 19.05.2021    source источник


Ответы (1)


Вы можете попробовать либо использовать библиотеку задач TFLite. Он не поддерживает DenseNet, но есть и другие модели, которые вы можете использовать, как указано здесь < / а>. Вот сквозной пример классификации изображений.

Это гарантирует, что вам не придется выполнять специальную предварительную обработку. Но если вы хотите придерживаться Densenet, вы можете добавить метаданные в модель TFLite и построить настраиваемый конвейер предварительной обработки TFLite

person Meghna Natraj    schedule 24.05.2021