Hub with Keras(Keras編2)

Hub with Keras(Keras編2)

◎環境:Python3.7.2/TensorFlow 1.13

概要

TensorFlow/KerasのチュートリアルHub with Kerasをやってみて、調べた内容(Keras関連)をまとめておく。

saved_model

tf.contrib.saved_model.save_keras_modelにより、tf.keras.modelをTensorFlow SavedModel形式で保存する。

TensorFlow API Document

チュートリアルの中のコード

export_path = tf.contrib.saved_model.save_keras_model(model, "./saved_models")
# model : 保存するモデル(tf.keras.Model)
# "./saved_models" : 保存先
# export_path : モデル保存先のパス文字列

layers.Lambda

Lambdaは、任意の式をラップする。

Keras Document - Coreレイヤー

model.add(Lambda(lambda x: x ** 2))
# xをx**2にするレイヤーをモデルに追加

補足:Pythonラムダ式

funcobj = lambda paramlist : expr
# paramlist : パラメーターのリスト
# expr : 式
# funcobj : 関数オブジェクト
# 上記のラムダ式は以下と等価
def funcobj(paramlist):
  return expr

チュートリアル中のコード

classifier_layer = layers.Lambda(classifier, input_shape = IMAGE_SIZE+[3])
# 関数オブジェクトclassifierをレイヤーとして使用する
# なお、モデルの最初のレイヤーとなる場合は、input_shapeを指定する