все. Я пытаюсь добавить слои в модель ResNet50, чтобы классифицировать между кошками и собаками, но у меня проблемы с выравниванием слоя. Я читал об аналогичных проблемах, говорящих, что это связано с несовпадением версий.
Версия Keras: 2.3.1
Версия Tensorflow: 2.0.0
Код ниже:
import numpy as np
import tensorflow as tf
from tensorflow import keras
from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
from tensorflow.python.keras.layers import Flatten, Dense, Dropout
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
epochs = 20
length, height = 224, 224
batch_size = 32
steps = 1000
validation_steps = 300
filersConv1 = 32
filtersConv2 = 64
size_filter1 = (3, 3)
size_filter2 = (2, 2)
tamano_pool = (2, 2)
classes = 3
lr = 0.0004
Train_folder = r".\data\train1"
Test_folder = r".\data\test1"
train_datagen = ImageDataGenerator(
rescale = 1. / 255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True)
test_datagen = ImageDataGenerator(rescale = 1. / 255)
train_generator = train_datagen.flow_from_directory(
Train_folder,
target_size=(length, height),
batch_size=batch_size,
class_mode='categorical')
test_generador = test_datagen.flow_from_directory(
Test_folder,
target_size = (length, height),
batch_size = batch_size,
class_mode='categorical')
resnet50_imagenet_model = ResNet50(include_top = False, weights = 'imagenet', input_tensor = None,
input_shape = (length, height, 3))
x = resnet50_imagenet_model.output
flattened = Flatten()(x)
dense1 = Dense(1000, activation='relu')(flattened)
dropout = Dropout(0.5)(dense1)
dense2 = Dense(classes, activation='softmax')(dropout)
Ошибка следующая:
AttributeError Traceback (most recent call last)
<ipython-input-11-346fd34fb978> in <module>
----> 1 flattened = Flatten()(x)
2 dense1 = Dense(1000, activation='relu')(flattened)
3 dropout = Dropout(0.5)(dense1)
4 dense2 = Dense(classes, activation='softmax')(dropout)
5
AttributeError: 'tuple' object has no attribute 'layer'