1

私はTensorFlowを初めて使用しています。私は自分のアイデアが可能かどうかを確認しようとしています。TensorFlowを使用して古いモデルを新しいデータで再学習することはできますか?

私は、マルチクラス分類器でモデルを訓練しました。今では文章を入力で分類することができますが、たとえば、CNNの結果を変更して分類のスコアを向上させたり、分類を変更したりしたいと考えています。

私は訓練されたモデルでそのクラスでただ1つの文章を訓練しようとしたいですが、これは可能ですか?

答えて

0

私があなたの質問を正しく理解していれば、以前に訓練されたモデルをリロードして、それ以上の繰り返しを実行したり、新しい文章でテストしたり、モデルを少し微調整したりしようとしています。これが当てはまる場合は、これを行うことができます。モデルの保存と復元を調べてください(https://www.tensorflow.org/api_guides/python/state_ops#Saving_and_Restoring_Variables)。

あなたにラフアウトライン、あなたが最初にあなたのモデルをトレーニングするとき、ネットワークアーキテクチャを設定した後、セーバーセットアップ与えること:あなたのモデルを再ロードするために、今すぐ

trainable_var = tf.trainable_variables() 
sess = tf.Session() 
saver = tf.train.Saver() 
sess.run(tf.global_variables_initializer 

# Run/train your model until some completion criteria is reached 
#.... 
#.... 

saver.save(sess, 'model.ckpt') 

を:

saver = tf.train.import_meta_graph('model.ckpt.meta') 
saver.restore('model.ckpt') 
#Note: if you have already defined all variables before restoring the model, import_meta_graph is not necessary 

これにより、訓練されたすべての変数にアクセスできるようになり、新しい文を入力することができます。お役に立てれば。

+0

ありがとうございます! この後、クラスのスコアを変更するために、単一の文章を練習することは可能ですか? – Developer

+0

申し訳ありませんが、私はあなたの質問を理解するとは思わない。モデルを訓練する方法に単一のセンテンスを予測したり、単一のセンテンスを追加しようとしていますか?いずれにせよ、はい。 1つの文を予測したい場合は、 'sess.run(model_output、feed_dict = {x:single_sentence})'を実行するだけです。モデルのトレーニングに1つのセンテンスを追加したい場合は、 'sess.run(train_step、feed_dict = {x:single_sentence") ' – bnorm

+0

を実行します。 ありがとう!! – Developer

関連する問題