Преобразование модели keras в tensorflow lite для использования в приложении KivyAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Преобразование модели keras в tensorflow lite для использования в приложении Kivy

Сообщение Anonymous »

Я пытаюсь преобразовать модель keras в tensorflow lite и использовать ее при разработке приложений для Android с использованием модели kivy.
модель -

Код: Выделить всё

model_v3 = tf.keras.applications.MobileNet(
weights='imagenet', include_top=False, input_shape=(224, 224, 3)
)

for layer in model_v3.layers[:]:
layer.trainable = True

model = tf.keras.Sequential()

for layer in model_v3.layers:
model.add(layer)

model.add(layers.Flatten())
model.add(layers.Dense(256, activation='relu'))
model.add(layers.Dropout(0.3))
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(8, activation='softmax'))
model.summary()
преобразование кода согласно документу

Код: Выделить всё

model.save('model.keras')
model = keras.models.load_model('/content/model.keras')

converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

with open('mobilenet_224.tflite', 'wb') as f:
f.write(tflite_model)
Я использовал эту модель в приложении kivy, сборка прошла успешно, приложение установлено на Android, но когда приложение запускается, я получил эту ошибку

11-12 10:12:50.932 6678 10552 I python: файл "jnius/jnius_export_class.pxi", строка 269, в jnius.jnius.JavaClass. init


11-12 10:12:50.933 6678 10552 Я python: Файл "jnius/jnius_export_class. pxi", строка 383, в jnius.jnius.JavaClass.call_constructor


11-12 10:12:50.933 6678 10552 Я использую python: файл «jnius/jnius_utils.pxi», строка 79, в jnius.jnius.check_Exception


11-12 10:12:50.934 6678 10552 I python: jnius.jnius.JavaException: произошло исключение JVM: содержимое /mobilenet_224.tflite не кодирует допустимую модель TensorFlow Lite
: не удалось открыть '/mobilenet_224.tflite'.< /p>


11-12 10:12:50.934 6678 10552 I python: выделение модели равно нулю/пусто java.lang.IllegalArgumentException


11-12 10:12:50.934 6678 10552 I python: Python для Android завершен.

Я использовал этот репозиторий в качестве образца для создания приложения kivy — https://github.com/macrodrigues/butterf ... p/model.py
Я использовал зависимости в buildozer.spec

Код: Выделить всё

android.gradle_dependencies = org.tensorflow:tensorflow-lite:+,org.tensorflow:tensorflow-lite-support:+,org.tensorflow:tensorflow-lite-gpu:+
Не могли бы вы помочь мне решить эту ошибку и объяснить, почему она возникает, спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-kivy-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»