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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

934閲覧

kerasで複数のモデルと重みを保存してテストしたい

mayumi8

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2019/06/26 14:49

kerasでpix2pixのモデルを実装しようと試みている初学者です。

あるサイトに掲載されているサンプルコードを参考にしています。

その中で、以下の3つのモデルが定義されコンパイルされています。

Python

1generator_model.compile(loss='mae', optimizer=opt_discriminator) 2 3DCGAN_model.compile(loss=loss, loss_weights=loss_weights, optimizer=opt_dcgan) 4 5discriminator_model.compile(loss='binary_crossentropy', optimizer=opt_discriminator)

これらを含んだ「pix2pixモデル」を学習させた後、重みを含めたモデルの保存を行い、テストしたいと考えています。

その際、例えば下記のように1つ1つ別々にモデルを保存することはできますが、

Python

1generator_model.save('generator.h5') 2 3DCGAN_model.save('DCGAN.h5') 4 5discriminator_model.save('discriminator.h5')

学習後に、保存されたこれらのモデルを全て使ってテストすることは可能でしょうか?

もしくは、3つのモデルを1つにまとめてから学習させ、保存し、テストした方がよいのでしょうか。

こうした複数モデルの保存とテストの方法を教えて頂けますと非常に助かります。

何卒よろしくお願い致します。

該当のソースコード

Python

1def train(): 2 # load data 3 rawImage, procImage, rawImage_val, procImage_val = load_data(datasetpath) 4 5 img_shape = rawImage.shape[-3:] 6 patch_num = (img_shape[0] // patch_size) * (img_shape[1] // patch_size) 7 disc_img_shape = (patch_size, patch_size, procImage.shape[-1]) 8 9 # train 10 opt_dcgan = Adam(lr=1E-3, beta_1=0.9, beta_2=0.999, epsilon=1e-08) 11 opt_discriminator = Adam(lr=1E-3, beta_1=0.9, beta_2=0.999, epsilon=1e-08) 12 13 # load generator model 14 generator_model = load_generator(img_shape, disc_img_shape) 15 # load discriminator model 16 discriminator_model = load_DCGAN_discriminator(img_shape, disc_img_shape, patch_num) 17 18 generator_model.compile(loss='mae', optimizer=opt_discriminator) 19 discriminator_model.trainable = False 20 21 22 DCGAN_model = load_DCGAN(generator_model, discriminator_model, img_shape, patch_size) 23 24 loss = [l1_loss, 'binary_crossentropy'] 25 loss_weights = [1E1, 1] 26 DCGAN_model.compile(loss=loss, loss_weights=loss_weights, optimizer=opt_dcgan) 27 28 29 30 discriminator_model.trainable = True 31 discriminator_model.compile(loss='binary_crossentropy', optimizer=opt_discriminator)

補足情報(FW/ツールのバージョンなど)

これらモデルは「functional API」を使用して定義されております。

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

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

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

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

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

guest

回答1

0

自己解決

何となく自己解決いたしました。

そもそも画像生成のテストなので、
学習済みの「generatorモデルだけ」をロードしてテストすれば良かっただけでした。

投稿2019/06/28 13:22

mayumi8

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問