qiuyu96 / CoDeF

[CVPR 2024 Highlight] Official PyTorch implementation of CoDeF: Content Deformation Fields for Temporally Consistent Video Processing
https://qiuyu96.github.io/CoDeF/
Other
4.83k stars 386 forks source link

Windows support? #17

Open lucasjinreal opened 1 year ago

lucasjinreal commented 1 year ago

Hello, tinycudann are really hard to install on windows, at least I failed on cuda11.8 + windows. Would consider add vanilla pytorch in modeling so that users can use without tinycudann?

ken-ouyang commented 1 year ago

Hi. You may disable the option deform_hash and vid_hash for training if you do not have tiny-cuda. We implement a version with vanilla pytorch using positional encoding. But the training time will greatly increase and thus it is not recommended.

lucasjinreal commented 1 year ago

inference also not support

ken-ouyang commented 1 year ago

In that case, for inference, you may also disable these two options. It should work.

lucasjinreal commented 1 year ago

disable deform_hash and vid_hash will effect result performance?

ken-ouyang commented 1 year ago

Certainly, the type of motion present within a video sequence can impact the performance of the model to varying degrees. Specifically, if the video primarily contains rigid motion, you can expect the performance to remain relatively consistent.

justinjohn0306 commented 1 year ago

How do I switch to gloo backend? Screenshot 2023-08-27 222904

justinjohn0306 commented 1 year ago

Done.

Screenshot 2023-08-27 233306

ataraxyz commented 1 year ago

How did you switch? Can you post a how to?

yuanjiacheng commented 1 year ago

How did you switch? Can you post a how to?

replace code strategy="ddp_find_unused_parameters_true" in train.py line 547 by from pytorch_lightning.strategies import DDPStrategy ddp_gloo = DDPStrategy(process_group_backend="gloo",find_unused_parameters=True) trainer = Trainer(max_steps=hparams.num_steps, precision=16 if hparams.vid_hash == True else 32, callbacks=[checkpoint_callback], logger=logger, accelerator='gpu', devices=hparams.gpus, num_sanity_val_steps=1, benchmark=True, profiler="simple" if len(hparams.gpus) == 1 else None, val_check_interval=hparams.valid_iters, limit_val_batches=hparams.valid_batches, strategy=ddp_gloo)