from tensorflow.keras.applications import ResNet50 from tensorflow.keras import layers, models from tensorflow.keras.optimizers import Adam (x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 base_model = ResNet50(weights='imagenet', include_top=False, input_shape=(32, 32, 3)) x = base_model.output x = layers.GlobalAveragePooling2D()(x) x = layers.Dense(1024, activation='relu')(x) x = layers.Dense(10, activation='softmax')(x) model = models.Model(inputs=base_model.input, outputs=x) for layer in base_model.layers: layer.trainable = False model.compile(optimizer=Adam(), loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test)) for layer in base_model.layers[-10:]: layer.trainable = True model.compile(optimizer=Adam(learning_rate=1e-5), loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test)) __ __