1つのファイルの中で複数のモデルを別々に学習させ、その学習済モデルを別々で利用したいです。
以下が私が考えたコードです。
内容はわかりやすさの為、省略しました。
しっかりと別々に使えるでしょうか?
元々似たような結果を出すモデルなので、分かりにくいです。
python
1##1つ目 2def define_model_1(): 3 inputs = Input(shape=(32, 32, 3)) 4 x = Conv2D(64, (3, 3), padding='SAME', activation='relu')(inputs) 5 6 (モデルの中身 省略) 7 8 y = Dense(10, activation='softmax')(x) 9 10 model = Model(inputs, y) 11 12 # モデルのコンパイル。 13 model.compile(設定) 14 return model 15 16model_1 = define_model_1() 17 18#学習 19model_1.fit(設定) 20 21#保存 22model_1.save('保存先/ファイル名1.h5') 23 24 25##2つ目 26def define_model_2(): 27 inputs = Input(shape=(32, 32, 3)) 28 x = Conv2D(64, (3, 3), padding='SAME', activation='relu')(inputs) 29 30 (モデルの中身 省略) 31 32 y = Dense(10, activation='softmax')(x) 33 34 model = Model(inputs, y) 35 36 # モデルのコンパイル。 37 model.compile(設定) 38 return model 39 40model_2 = define_model_1() 41 42#学習 43model_2.fit(設定) 44 45#保存 46model_2.save('保存先/ファイル名2.h5') 47 48 49 50 51 52####読み込み#### 53#学習時はコメントアウト 54model_1 = load_model('保存先/ファイル名1.h5') 55model_2 = load_model('保存先/ファイル名2.h5') 56 57 58#この後、model_1、model_2を区別して使う 59 60
1つの場合、
通常、学習させる場合は下記の様になると思います。
python
1#モデル1 2def define_model_1(): 3 inputs = Input(shape=(32, 32, 3)) 4 x = Conv2D(64, (3, 3), padding='SAME', activation='relu')(inputs) 5 6 (モデルの中身 省略) 7 8 y = Dense(10, activation='softmax')(x) 9 10 model = Model(inputs, y) 11 12 # モデルのコンパイル。 13 model.compile(設定) 14 return model 15 16model_1 = define_model_1() 17 18#学習 19model_1.fit(設定) 20 21#保存 22model_1.save('保存先/ファイル名1.h5') 23 24#読み込み 25model_1 = load_model('保存先/ファイル名1.h5') 26 27
あなたの回答
tips
プレビュー