Как обновить только указанные c слоев из модели Tensorflow Lite в приложение Android? - PullRequest
2 голосов
/ 03 августа 2020

У меня есть собственная модель tensorflow.keras.models.Model CNN со слоями из tensorflow.keras.layers, которую я собираюсь развернуть в приложении Android с использованием Tensorflow Lite.

Сейчас я конвертирую эта модель из сохраненной (папка, содержащая файл .pb, папка с ресурсами и папка переменных, созданная из my_model.save(path_save)) с использованием Python API :

import tensorflow as tf

converter = tf.lite.TFLiteConverter.from_saved_model('./my_model')
tflite_model = converter.convert()
with tf.io.gfile.GFile('my_model.tflite', 'wb') as f:
  f.write(tflite_model)

Затем я загружаю эту модель TFLite в свое приложение, используя Firebase и ее комплект ML .

Однако я хотел бы регулярно обновлять эту модель ( изменения, которые касаются только несколько слоев ) без необходимости загружать все это (что я и делаю сейчас): это пустая трата ресурсов, так как моя модель довольно тяжелая, и большинство слоев не будут изменены вообще .

Есть способ сделать это? В идеале он просто получил бы файл, описывающий слои, которые нужно изменить.

...