#python #tensorflow #conv-neural-network
Вопрос:
Вот мой код ,
Я попытался построить сеть ниже CNN , эту ошибку я наблюдаю ,
model.add(Conv2D(8,3,activation='relu',padding='same',input_shape=(180,180)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(16,3,activation='relu',padding='same',input_shape=(180,180)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32,3,activation='relu',padding='same',input_shape=(180,180)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64,3,activation='relu',padding='same',input_shape=(180,180)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(128,3,activation='relu',padding='same',input_shape=(180,180)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(254, activation='relu'))
model.add(Dense(9, activation='softmax'))
image_batch-это тензор формы(32, 180, 180, 3). Это пакет из 32 изображений формы 180x180x3 (последнее измерение относится к цветовым каналам RGB). Label_batch является тензором формы (32,), это соответствующие метки для 32 изображений
Ответ №1:
Вам необходимо настроить CNN для обработки входных данных shape
model.add(layers.Conv2D(8, (3, 3), activation='relu', input_shape=(180, 180, 3)))
Первое измерение рассматривается как размер пакета. Если вы укажете input_shape=(180,180)
, то это означает, что image_height=180, image_width=180
и batch_size=None
что означает, что произвольное количество образцов может быть задано в качестве входных данных на этапе подгонки модели.