keras Sequentialモデル問題:TypeError:The added layer must be an instance of class Layer

883 ワード

シーン:移行学習中に、既存のネットワークの全接続層を除く構造とパラメータを利用して、全接続層を新たに追加して自分の分類器を訓練する
問題の説明:kerasのSequentialを利用してlayerを積み重ねる時TypeError:The added layer must be an instance of class Layer解決方案が現れた:kerasの導入を検査して、tensorflowを使うならば.python.keras方式リファレンスとkerasリファレンスが混在するとこの問題が発生します.統合:
from tensorflow.python.keras.datasets import mnist
from tensorflow.python.keras.layers.core import Dense, Dropout, Activation, Flatten
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.utils import np_utils

またはこれを使用します.
from keras.datasets import mnist
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.models import Sequential
from keras.utils import np_utils

まとめ:kerasを使用して学習を移行したり、kerasを利用する予備訓練ネットワークなどの過程で、kerasとtensorflowが両方使用される場合があり、tensorflowに埋め込まれたkerasを使用することが望ましい.使用中は必ず同じkerasレイヤを参照してください