#概要
raspberry pi 1でtensorflow liteやってみた。
tfliteファイルの作り方を調査してみた。
4つの方法がある。
#環境
tensorflow 1.12
#tf.Sessionから作る。
import tensorflow as tf
import tensorflow.contrib.lite as lite
img = tf.placeholder(name = "img", dtype = tf.float32, shape = (1, 64, 64, 3))
var = tf.get_variable("weights", dtype = tf.float32, shape = (1, 64, 64, 3))
val = img + var
out = tf.identity(val, name = "out")
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
converter = lite.TFLiteConverter.from_session(sess, [img], [out])
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
#freeze_graphなpbファイルから作る。
import tensorflow as tf
import tensorflow.contrib.lite as lite
graph_def_file = "/path/to/Downloads/mobilenet_v1_1.0_224/frozen_graph.pb"
input_arrays = ["input"]
output_arrays = ["MobilenetV1/Predictions/Softmax"]
converter = lite.TFLiteConverter.from_frozen_graph(graph_def_file, input_arrays, output_arrays)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
#高級APIのSavedModelから作る。
import tensorflow as tf
import tensorflow.contrib.lite as lite
converter = lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
#kerasモデルから作る。
import tensorflow as tf
import tensorflow.contrib.lite as lite
converter = lite.TFLiteConverter.from_keras_model_file("keras_model.h5")
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
以上。