2016-10-11 5 views
1

私はinception_resnet_v2_2016_08_30.ckptファイルを持っています。これは、訓練された初期モデルです。私はtensorflow inceptionsチェックポイントファイル(ckpt)を復元する方法は?

saver.restore(sess, ckpt_filename)

を使用して、このモデルを復元したいが、そのために、私はこのモデルを訓練しながら、使用された変数のセットを記述する必要があります。それらをどこで見つけることができますか(スクリプト、または詳細な説明)?

答えて

1

まず、ネットワークアーキテクチャをメモリに入れました。今、あなたは初期化することができ、これにより

from inception_resnet_v2 import inception_resnet_v2, inception_resnet_v2_arg_scope 

height = 299 
width = 299 
channels = 3 

X = tf.placeholder(tf.float32, shape=[None, height, width, channels]) 
with slim.arg_scope(inception_resnet_v2_arg_scope()): 
    logits, end_points = inception_resnet_v2(X, num_classes=1001,is_training=False) 

あなたはメモリ内のすべてのネットワークを持っている:あなたはあなたと一緒にこのプログラムを持っていたら、あなたはモデルを使用するには、次のアプローチを使用し、here

からネットワークアーキテクチャを得ることができますtf.train.saverを使用して、チェックポイントファイル(CKPT)とのネットワークは:

saver = tf.train.Saver() 
sess = tf.Session() 
saver.restore(sess, "/home/pramod/Downloads/inception_resnet_v2_2016_08_30.ckpt") 

あなたがボトルの抽出を行いたい場合は、そのは簡単なようにあなたは、単にあなたが持っている、最後の層からフィーチャーを取得したいと言うことができます宣言するpredictions = end_points["Logits"] あなたが他の中間層のためにそれを取得したい場合は、あなたが呼び出すことができます。その後

inception_resnet_v2.py上記のプログラムからそれらの名前を取得することができます:output = sess.run(predictions, feed_dict={X:batch_images})

0

私はMetaGraph mechanismが必要と考えています。

編集:さらに、tf.train.NewCheckpointReaderを見てください - それはget_variable_to_shape_map()メソッドを持っています。 unit testを参照してください。

+0

おかげしかしメタグラフはロードモデルの定義に役立ちます。私が現在持っているのは、訓練された重みと偏りの値だけを含むチェックポイントモデルです(モデルアーキテクチャなどの情報はありません) – Sangram

+0

私は自分の答えを編集しました。 – Covi

関連する問題