質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

496閲覧

tensorflowにおける、別モデルへのパラメータ(重み、バイアス等)の復元

mizuwater

総合スコア11

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/11/22 08:55

編集2022/01/12 10:55

現在、tensorflowを用いて学習を行っているのですが、モデルAを学習後、そのモデルAの重みやバイアスを、別のモデルBに移して初期化するにはどのようにすればいいでしょうか?

モデルの構成は以下のような形です。()内はノード数です。
モデルA:
LSTM(20)-LSTM(20)-Dense(10)※1

モデルB:
LSTM(10)-LSTM(10)-LSTM(20)-LSTM(20)-Dense(10)
[LSTM(10)-LSTM(10)]←モデルBで追加された部分
[LSTM(20)-LSTM(20)-Dense(10)]←モデルAと同じ部分※2

※1のパラメータで、※2のパラメータを初期化後、モデルBを再学習させたいです。

よろしくお願いします。

モデルのコードは以下になります。

python

1'モデルA' 2X:input_data 3 4lstm_3 = tf.nn.rnn_cell.BasicLSTMCell(20, name='blstmc3')# 5lstm_4 = tf.nn.rnn_cell.BasicLSTMCell(20, name='blstmc4')# 6 7lstm_out_3 = tf.nn.dynamic_rnn(lstm_3,X,dtype=tf.float32,time_major=False)# 8lstm_out_4 = tf.nn.dynamic_rnn(lstm_4,lstm_out_3,dtype=tf.float32,time_major=False)# 9 10lstm_out_last = lstm_out_4[:,-1,:]##last output only 11 12W11 = weight_variable([20, 10]) 13b11 = bias_variable([10]) 14f_logit = tf.matmul(lstm_out_last, W11) + b11 15predict_vector = tf.nn.relu(f_logit) 16 17'モデルB' 18X:input_data 19 20lstm_1 = tf.nn.rnn_cell.BasicLSTMCell(10, name='blstmc1')# 21lstm_2 = tf.nn.rnn_cell.BasicLSTMCell(10, name='blstmc2')# 22lstm_3 = tf.nn.rnn_cell.BasicLSTMCell(20, name='blstmc3')# 23lstm_4 = tf.nn.rnn_cell.BasicLSTMCell(20, name='blstmc4')# 24 25lstm_out_1 = tf.nn.dynamic_rnn(lstm_1,X,dtype=tf.float32,time_major=False)# 26lstm_out_2 = tf.nn.dynamic_rnn(lstm_2,lstm_out_1,dtype=tf.float32,time_major=False)# 27lstm_out_3 = tf.nn.dynamic_rnn(lstm_3,lstm_out_2,dtype=tf.float32,time_major=False)# 28lstm_out_4 = tf.nn.dynamic_rnn(lstm_4,lstm_out_3,dtype=tf.float32,time_major=False)# 29 30lstm_out_last = lstm_out_4[:,-1,:]##last output only 31 32W11 = weight_variable([20, 10]) 33b11 = bias_variable([10]) 34f_logit = tf.matmul(lstm_out_last, W11) + b11 35predict_vector = tf.nn.relu(f_logit) 36

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

saver.restoreで読み込みたいparameterを指定しないと異なるモデルでは復元できないかと

投稿2018/11/27 01:58

hamiru

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問