teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

6

一部修正

2021/07/17 05:44

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -16,7 +16,7 @@
16
16
  これで、`model.summary()`を確認いただければ、質問者様の要望する形になっていると思います。
17
17
 
18
18
  参考: [Keras公式ドキュメント - Functional APIのガイド](https://keras.io/ja/getting-started/functional-api-guide/)
19
- functional APIを利用することで,訓練済みモデルの再利用が簡単になります
19
+ > functional APIを利用することで,訓練済みモデルの再利用が簡単になります
20
20
 
21
21
  また、質問者様の環境では問題無いものと思いますが、最近のtensorflow.kerasの環境では、`model.layers.pop()`では最終層を削除できませんので、ご注意ください。
22
22
  参考: [tf.keras.layers.pop() doesn't work, but tf.keras._layers.pop() does](https://stackoverflow.com/questions/57316557/tf-keras-layers-pop-doesnt-work-but-tf-keras-layers-pop-does)

5

一部修正

2021/07/17 05:44

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -9,8 +9,8 @@
9
9
  x = Flatten(input_shape=main_model.output_shape[1:])(x)
10
10
  x = Dense(256, activation='relu')(x)
11
11
  x = Dropout(0.5)(x)
12
- x = Dense(2, activation='softmax')(x)
12
+ predictions = Dense(2, activation='softmax')(x)
13
- model = Model(inputs=main_model.input, outputs=x)
13
+ model = Model(inputs=main_model.input, outputs=predictions)
14
14
  ```
15
15
 
16
16
  これで、`model.summary()`を確認いただければ、質問者様の要望する形になっていると思います。

4

一部修正

2021/07/17 05:43

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  先に全結合層を組み上げてから、base_modelに結合しているため、質問者様がレポートされている状況になってしまっています。
4
4
 
5
- 以下の構文で、base_modelに追加すべき層を順次追加すると、うまくいきます。
5
+ 以下のFunctional API構文で、base_modelに追加すべき層を順次追加すると、うまくいきます。
6
6
 
7
7
  ```Python
8
8
  x = main_model.output
@@ -15,9 +15,8 @@
15
15
 
16
16
  これで、`model.summary()`を確認いただければ、質問者様の要望する形になっていると思います。
17
17
 
18
- なお、私は、tensorflow.kerasおよびtensorflow.keras.applications.efficientnetを使って動作確認しています。古いkerasだと上記構文をサポーしていないかもしれませんで、ご注意ください。
18
+ 参考: [Keras公式ドキュメン - Functional APIガイド](https://keras.io/ja/getting-started/functional-api-guide/)
19
+ functional APIを利用することで,訓練済みモデルの再利用が簡単になります
19
20
 
20
- 参考: [知ってる!? TensorFlow 2.0最新の書き方入門(初中級者向け)](https://www.atmarkit.co.jp/ait/articles/2002/27/news021.html)
21
-
22
21
  また、質問者様の環境では問題無いものと思いますが、最近のtensorflow.kerasの環境では、`model.layers.pop()`では最終層を削除できませんので、ご注意ください。
23
22
  参考: [tf.keras.layers.pop() doesn't work, but tf.keras._layers.pop() does](https://stackoverflow.com/questions/57316557/tf-keras-layers-pop-doesnt-work-but-tf-keras-layers-pop-does)

3

補足追記

2021/07/17 05:42

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  なお、私は、tensorflow.kerasおよびtensorflow.keras.applications.efficientnetを使って動作確認しています。古いkerasだと上記構文をサポートしていないかもしれませんので、ご注意ください。
19
19
 
20
- **kerasとtensorflowの混在環境はトラブルの元ですので、生kerasはアンインストールししまうことをおすすめします。**
20
+ 参考: [知っる!? TensorFlow 2.0最新の書き方入門(初中級者向け)](https://www.atmarkit.co.jp/ait/articles/2002/27/news021.html)
21
21
 
22
22
  また、質問者様の環境では問題無いものと思いますが、最近のtensorflow.kerasの環境では、`model.layers.pop()`では最終層を削除できませんので、ご注意ください。
23
23
  参考: [tf.keras.layers.pop() doesn't work, but tf.keras._layers.pop() does](https://stackoverflow.com/questions/57316557/tf-keras-layers-pop-doesnt-work-but-tf-keras-layers-pop-does)

2

一部修正

2021/07/17 05:33

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -17,5 +17,7 @@
17
17
 
18
18
  なお、私は、tensorflow.kerasおよびtensorflow.keras.applications.efficientnetを使って動作確認しています。古いkerasだと上記構文をサポートしていないかもしれませんので、ご注意ください。
19
19
 
20
+ **kerasとtensorflowの混在環境はトラブルの元ですので、生kerasはアンインストールしてしまうことをおすすめします。**
21
+
20
22
  また、質問者様の環境では問題無いものと思いますが、最近のtensorflow.kerasの環境では、`model.layers.pop()`では最終層を削除できませんので、ご注意ください。
21
23
  参考: [tf.keras.layers.pop() doesn't work, but tf.keras._layers.pop() does](https://stackoverflow.com/questions/57316557/tf-keras-layers-pop-doesnt-work-but-tf-keras-layers-pop-does)

1

一部修正

2021/07/17 05:14

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  質問者様の環境と版数が違うのか、そのまま実行するとエラーが出ますが、質問されているポイントについては確認できましたので、回答します。
2
2
 
3
- まず、先に全結合層を組み上げてから、base_modelに結合しているため、質問者様がレポートされている状況になってしまいます。
3
+ 先に全結合層を組み上げてから、base_modelに結合しているため、質問者様がレポートされている状況になってしまっています。
4
4
 
5
5
  以下の構文で、base_modelに追加すべき層を順次追加すると、うまくいきます。
6
6