Что не так с моим ResNet50 на двух машинах? - PullRequest
0 голосов
/ 17 марта 2020

Во-первых, я обучил ResNet50 быть классификатором с шестью классами с нуля на Kaggle, и получил вот так. screenshot of Kaggle kernel

Как видите, точность тренировочного набора и проверочного набора постоянно улучшалась. И после этого я арендовал облачный хост на inte rnet для лучшего графического процессора (1080ti) и скопировал свой код (я загрузил свой ноутбук Jupyter). И тогда я запустил это. Но произошли странные вещи. Моя точность проверки крайне неустойчива и всегда колебалась в широких пределах (около 0,3). Вот скриншот.

screenshot of the host

А также, обучение на хосте намного сложнее, чем на ядре Kaggle. Вот скриншоты после нескольких эпох (на самом деле, одна из них обучена гораздо большему, чем эпоха Каггла) kaggle(after some epochs) host(after some epochs) А вот мои коды ImageDataGenerator.

train_datagen = ImageDataGenerator(
    rescale=1./255,
    shear_range=0.1,
    zoom_range=0.1,
    width_shift_range=0.1,
    height_shift_range=0.1,
    horizontal_flip=True,
    vertical_flip=True,
    validation_split=0.1
)

test_datagen = ImageDataGenerator(
    rescale=1./255,
    validation_split=0.1
)

train_generator = train_datagen.flow_from_directory(
    base_path,
    target_size=(300, 300),
    batch_size=16,
    class_mode='categorical',
    subset='training',
    seed=0
)

validation_generator = test_datagen.flow_from_directory(
    base_path,
    target_size=(300, 300),
    batch_size=16,
    class_mode='categorical',
    subset='validation',
    seed=0
)
...