Stack Overflow コミュニティの助けを借りて、TensorFlow の「高レベル」API の複雑さを理解し始めましたEstimator
。私は、おそらくばかげて、TensorFlow と TensorFlow JS がうまくいくとしたら、おそらく API を介するだろうと考えてそうしましたEstimator
...
したがって、このColabでは、単純に配線された単純なカスタムEstimator
を使用して、「トレーニング」のようなメソッドが.train_and_evaluate
動作し、「トレーニング」後にEstimator
を介してエクスポートされexport_savedmodel
ます。
ここで、TensorFlow js を介してブラウザでこのトレーニング済みモデルを使用したいとします。
幸運なことに、TensorFlow JSに変換する方法に関するガイドがあります。saved_model
tensorflowjs_converter \
--input_format=tf_saved_model \
--output_node_names='MobilenetV1/Predictions/Reshape_1' \
--saved_model_tags=serve \
/mobilenet/saved_model \
/mobilenet/web_model
引数には説明がありますが...
--output_node_names
コンマで区切られた出力ノードの名前。--saved_model_tags
SavedModel 変換、ロードする MetaGraphDef のタグ (コンマ区切り形式) にのみ適用されます。デフォルトで提供されます。--signature_name
TensorFlow Hub モジュール変換、署名から読み込みにのみ適用されます。デフォルトはデフォルトです。https://www.tensorflow.org/hub/common_signatures/を参照してください。
Colabにある demo estimator で、これらを何に置き換えればよいかわかりません。
なんで?まずbest_model
第一に、を使用するエクスポーターは、をserving_input_receiver_fn
介してロードされたときに異なる出力を持ちます
from tensorflow.contrib import predictor
predict_fn = predictor.from_saved_model('<exported_location>')
からより
estimator.predict(lambda: predict_input_fn(pred_features), yield_single_examples=False)
つまり、前者で出力される予測特徴量のキーは、後者の「出力」と「ラベル」です。
Estimator
私のちょっとした暴言を許してください、エクスポートされたモデルをロードする方法がないのはなぜですか?
それで:
私の「
output_node_names
」は何ですか?これは SavedModel であるため、何
tags
が必要ですか?
ご指導いただければ幸いです。