TensorFlow2で作ったモデルファイルをTensorFlow Lite形式に変換するメモ
- SavedModelディレクトリやtf.kerasのmodelをtfliteに変換できるらしい
- pythonのAPIで変換する方法が推奨されてる
- CLIもある
python APIでコンバーター書く
SavedModelの変換
converter = tf.lite.TFLiteConverter.from_saved_model("my_savedmodel")
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
Keras modelの変換
# 事前にmy_modelオブジェクトを用意しておく
converter = tf.lite.TFLiteConverter.from_keras_model(my_model)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
CLI
$ tflite_convert --saved_model_dir=my_savedmodel --output_file=my_model.tflite
Kerasのmodelの場合は --saved_model_dir
を --keras_model_file
に置き換える
Quantizationやその他色々弄りたいならpython API使ってね、とのこと
toco?
tfliteへの変換についてWeb検索しているとtocoというcliツールが時々出てくるが、今はdeprecatedらしい