NVlabs/long-video-gan

Question regarding the training

Closed this issue · 1 comments

Hi guys,

I would just like to ask a question. In your README you say the following:
"You can train new models using train_lres.py to train the low resolution network and train_sres.py to train the super-resolution network."

But is it actually required to follow this order ?
I prepared a new quick dataset hopefully correctly this time (2 directories with the same videos, once at 360x640 and once at 720x1280) and tried to run the train_sres.py, only to get the following error, that I don't understand:

File "train_sres.py", line 403, in main
    train(**c)
  File "train_sres.py", line 98, in train
    dataset = VideoDatasetTwoRes(
  File "<string>", line 13, in __init__
  File "/home/lweingart/git/long-video-gan/dataset.py", line 142, in __post_init__
    assert self.lr_dataset.video_paths == self.hr_dataset.video_paths
AssertionError

Wondering what would happend if I first ran the train_lres.py file, except for the obvious rapidly coming CUDA out of memory error on my laptop, it seems to be working fine. So are we supposed to run the train_lres.py first, then the train_sres.py, or have I made another mistake along the way ?

Thank you for your esteemed help.

Cheers

You can run training in either order. Make sure both resolution datasets are made in advance and that they are both subdirectories under a root dataset directory (needs to follow the same directory layout as the provided datasets). I also recommend training at the same resolutions we train in our paper -- your resolutions are very large and might not work. But if you do change resolution, make sure to change the resolutions in the training code as well.