Как исправить «добавленный слой должен быть экземпляром класса» при построении последовательной модели? - PullRequest
0 голосов
/ 11 мая 2019

Я пытаюсь добавить слои в последовательную модель, чтобы обучить ее данным fashion_mnist. Тем не менее, я получаю эту ошибку неоднократно.

#import statements

импорт тензорного потока как тф

из тензор потока импортных керас

импорт matplotlib.pyplot как plt

из tenorflow.keras для импорта моделей


#Creating a sequential model
model=models.Sequential([tf.keras.layers.Flatten(),tf.keras.layers.Dense(128,activation=tf.nn.relu),tf.keras.layers.Dense(10,activation=tf.nn.softmax)])

#Compiling the model with optimizer and loss function
model.compile(optimizer='tf.train.AdamOptimizer',loss='sparse_categorical_crossentropy')

Ошибка:

TypeError                                 Traceback (most recent call last)
<ipython-input-4-ffa2750d675a> in <module>()
      1 #creating a sequential model
----> 2 model=models.Sequential([tf.keras.layers.Flatten(),tf.keras.layers.Dense(128,activation=tf.nn.relu),tf.keras.layers.Dense(10,activation=tf.nn.softmax)])

c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\keras\models.py in __init__(self, layers, name)
    439         if layers:
    440             for layer in layers:
--> 441                 self.add(layer)
    442 
    443     def add(self, layer):

c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\keras\models.py in add(self, layer)
    458             raise TypeError('The added layer must be '
    459                             'an instance of class Layer. '
--> 460                             'Found: ' + str(layer))
    461         if not self.outputs:
    462             # First layer in model: check that it is an input layer.

TypeError: The added layer must be an instance of class Layer. Found: <tensorflow.python.keras.layers.core.Flatten object at 0x00000254C648FE48>

Может кто-нибудь помочь мне с этим, пожалуйста?

1 Ответ

0 голосов
/ 14 мая 2019

Пожалуйста, покажите нам отчеты об импорте вверху.Если вы использовали

from keras import models

, то эта ошибка ожидается, когда вы добавляете слои tf.keras в модель keras.

К сожалению, keras и tf.keras не совместимы.

Если вы измените импорт на:

from tensorflow.keras import models

, тогда ваш код должен работать.

...