Увеличьте количество итераций обучения в StyleGAN - PullRequest
0 голосов
/ 07 января 2020

Я полный нуб, пытающийся учиться / играть с StyleGAN.

Я использую StyleGAN для обучения модели с созданным мной набором изображений, но качество выходного изображения низкое. Тренировка прекращается после 10 тиков.

Как я могу изменить параметры по умолчанию в коде, чтобы продолжить обучение после 10 тиков?

Нужно ли менять настройки kimg или fid50k? Настройки в этом блоке файла train.py? или файл метрик?

{   'D': {'func_name': 'training.networks_stylegan.D_basic'},
    'D_loss': {'func_name': 'training.loss.D_logistic_simplegp', 'r1_gamma': 10.0},
    'D_opt': {'beta1': 0.0, 'beta2': 0.99, 'epsilon': 1e-08},
    'G': {'func_name': 'training.networks_stylegan.G_style'},
    'G_loss': {'func_name': 'training.loss.G_logistic_nonsaturating'},
    'G_opt': {'beta1': 0.0, 'beta2': 0.99, 'epsilon': 1e-08},
    'dataset': {'resolution': 64, 'tfrecord_dir': 'fab_dataset'},
    'desc': 'sgan-fab_dataset-1gpu',
    'grid': {'layout': 'random', 'size': '4k'},
    'metrics': [{'func_name': 'metrics.frechet_inception_distance.FID', 'minibatch_per_gpu': 8, 'name': 'fid50k', 'num_images': 50000}],
    'sched': {   'D_lrate_dict': {128: 0.0015, 256: 0.002, 512: 0.003, 1024: 0.003},
                 'G_lrate_dict': {128: 0.0015, 256: 0.002, 512: 0.003, 1024: 0.003},
                 'lod_initial_resolution': 8,
                 'minibatch_base': 4,
                 'minibatch_dict': {4: 128, 8: 128, 16: 128, 32: 64, 64: 32, 128: 16, 256: 8, 512: 4}},
    'tf_config': {'rnd.np_random_seed': 1000},
    'train': {'mirror_augment': False, 'run_func_name': 'training.training_loop.training_loop', 'total_kimg': 25000}}

Журнал результатов обучения:

tick 1     kimg 140.3    lod 4.00  minibatch 128  time 8m 38s       sec/tick 461.9   sec/kimg 3.29    maintenance 56.1       gpumem 3.0 
network-snapshot-000140        time 13m 11s      fid50k 353.7462  
tick 2     kimg 280.6    lod 4.00  minibatch 128  time 29m 42s      sec/tick 453.7   sec/kimg 3.23    maintenance 809.9  gpumem 3.4 
tick 3     kimg 420.9    lod 4.00  minibatch 128  time 37m 16s      sec/tick 453.8   sec/kimg 3.23    maintenance 0.9    gpumem 3.4 
tick 4     kimg 561.2    lod 4.00  minibatch 128  time 44m 52s      sec/tick 454.4   sec/kimg 3.24    maintenance 0.9    gpumem 3.4
tick 5     kimg 681.5    lod 3.87  minibatch 128  time 1h 01m 06s   sec/tick 973.4   sec/kimg 8.09    maintenance 0.9    gpumem 4.5
tick 6     kimg 801.8    lod 3.66  minibatch 128  time 1h 21m 43s   sec/tick 1235.8  sec/kimg 10.27   maintenance 1.6    gpumem 4.5
tick 7     kimg 922.1    lod 3.46  minibatch 128  time 1h 42m 20s   sec/tick 1235.3  sec/kimg 10.27   maintenance 1.2    gpumem 4.5
tick 8     kimg 1042.4   lod 3.26  minibatch 128  time 2h 02m 57s   sec/tick 1235.9  sec/kimg 10.27   maintenance 1.2    gpumem 4.5
tick 9     kimg 1162.8   lod 3.06  minibatch 128  time 2h 23m 34s   sec/tick 1236.4  sec/kimg 10.28   maintenance 1.2    gpumem 4.5
tick 10    kimg 1283.1   lod 3.00  minibatch 128  time 2h 43m 58s   sec/tick 1222.6  sec/kimg 10.16   maintenance 1.2    gpumem 4.5
network-snapshot-001283        time 14m 20s      fid50k 349.5387

Я могу опубликовать полный файл train.py, если это необходимо, но это стандартная версия, доступная на git.

https://github.com/NVlabs/stylegan/blob/master/train.py

...