KerasLayer vs tf.keras.applications выступления - PullRequest
1 голос
/ 30 января 2020

Я обучил некоторые сети с помощью ResNetV2 50 (https://tfhub.dev/google/imagenet/resnet_v2_50/feature_vector/4), и это очень хорошо работает для моих наборов данных.

Затем я попытался tf.keras.applications.ResNet50, и точность очень низкая, чем другой.

Здесь две модели:

Первая (с концентратором)

base_model = hub.KerasLayer('https://tfhub.dev/google/imagenet/resnet_v2_50/feature_vector/4', input_shape=(IMAGE_H, IMAGE_W, 3))
base_model.trainable = False

model = tf.keras.Sequential([
  base_model ,
  Dense(num_classes, activation='softmax')
])

Вторая (с керас. приложениями)

base_model = tf.keras.applications.ResNet50V2(input_shape=(IMAGE_H, IMAGE_W, 3), include_top=False, weights='imagenet', pooling='avg')
base_model.trainable = False

model = tf.keras.Sequential([
  base_model,
  Dense(num_classes, activation='softmax')
])

Оптимизатор такой же (Адам), эпохи, шаги, набор данных (обучение и проверка), скорость обучения одинакова. Но первый старт с val_accuracy около 80% и конец с точностью около 99%, второй старт с 85% val_accuracy от первой до последней эпохи, так как это переобучение. Я получаю одинаковое поведение при изменении набора данных и параметров для каждой модели.

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...