|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
model.name = 'film_net' |
|
|
|
film_net.pyramid_levels = 7 |
|
film_net.fusion_pyramid_levels = 5 |
|
film_net.specialized_levels = 3 |
|
film_net.sub_levels = 4 |
|
film_net.flow_convs = [3, 3, 3, 3] |
|
film_net.flow_filters = [32, 64, 128, 256] |
|
film_net.filters = 64 |
|
|
|
training.learning_rate = 0.0001 |
|
training.learning_rate_decay_steps = 750000 |
|
training.learning_rate_decay_rate = 0.464158 |
|
training.learning_rate_staircase = True |
|
training.num_steps = 3000000 |
|
|
|
|
|
training_dataset.file = 'gs://xcloud-shared/fitsumreda/frame_interpolation/datasets/vimeo_interp_train.tfrecord@200' |
|
training_dataset.batch_size = 8 |
|
training_dataset.crop_size = 256 |
|
|
|
eval_datasets.batch_size = 1 |
|
eval_datasets.max_examples = -1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
eval_datasets.files = [] |
|
eval_datasets.names = [] |
|
|
|
|
|
data_augmentation.names = ['random_image_rot90', 'random_flip', 'random_rotate', 'random_reverse'] |
|
|
|
|
|
training_losses.loss_names = ['l1', 'vgg', 'style'] |
|
training_losses.loss_weight_schedules = [ |
|
@tf.keras.optimizers.schedules.PiecewiseConstantDecay, |
|
@tf.keras.optimizers.schedules.PiecewiseConstantDecay, |
|
@tf.keras.optimizers.schedules.PiecewiseConstantDecay] |
|
|
|
training_losses.loss_weight_parameters = [ |
|
{'boundaries':[0], 'values':[1.0, 1.0]}, |
|
{'boundaries':[1500000], 'values':[1.0, 0.25]}, |
|
{'boundaries':[1500000], 'values':[0.0, 40.0]}] |
|
|
|
test_losses.loss_names = ['l1', 'psnr', 'ssim'] |
|
test_losses.loss_weights = [1.0, 1.0, 1.0] |
|
|
|
vgg.vgg_model_file = 'gs://xcloud-shared/fitsumreda/frame_interpolation/pretrained_models/vgg/imagenet-vgg-verydeep-19.mat' |
|
style.vgg_model_file = 'gs://xcloud-shared/fitsumreda/frame_interpolation/pretrained_models/vgg/imagenet-vgg-verydeep-19.mat' |
|
|