Почему керас не позволяет таким образом добавлять сверточный слой? - PullRequest
0 голосов
/ 17 декабря 2018

Следующий код

from tensorflow import keras
from keras.layers import Conv2D

model = keras.Sequential()
model.add(Conv2D(1, (3, 3), padding='same', input_shape=(28, 28, 1)))

при выполнении выдает ошибку:

TypeError: The added layer must be an instance of class Layer. Found: <keras.layers.convolutional.Conv2D object at 0x7fea0c002d10>

Я также пытался использовать Convolutional2D, но получил ту же ошибку.Почему?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы должны импортировать Sequential из моделей keras

from keras.models import Sequential
from keras.layers import Conv2D

model = Sequential()
model.add(Conv2D(1, (3, 3), padding='same', input_shape=(28, 28, 1)))
0 голосов
/ 17 декабря 2018

Попробуйте:

from tensorflow import keras
from tensorflow.keras.layers import Conv2D

model = keras.Sequential()
model.add(Conv2D(1, (3, 3), padding='same', input_shape=(28, 28, 1)))

Вы смешиваете последовательную модель tf.keras со слоем Conv2D keras (вместо слоя Conv2D tf.keras.)

Или, как отмеченониже используйте фактические Keras:

import keras
from keras.models import Sequential
from keras.layers import Conv2D

model = Sequential()
model.add(Conv2D(1, (3, 3), padding='same', input_shape=(28, 28, 1)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...