ubicomplab / rPPG-Toolbox

rPPG-Toolbox: Deep Remote PPG Toolbox (NeurIPS 2023)
https://arxiv.org/abs/2210.00716
Other
414 stars 99 forks source link

Using Toolbox in Windows #271

Closed salehhp closed 1 month ago

salehhp commented 2 months ago

Hi First of all thank you for sharing this toolbox. I need to use your toolbox in my project and test the captured videos with different algorithms of your toolbox. But I don't have access to Linux and in the toolbox description file, there is no explanation on how to use the toolbox in Windows 10. Please guide me how I can use your toolbox in Windows 10. Another question is whether it is possible to use toolbox by CPU? Thanks

girishvn commented 2 months ago

Hi @salehhp,

I do not think there should be significant changes that are needed to run the toolbox on windows (apart from needing to re-format data paths to match the expected windows style). If you are using conda, you should hopefully be able to set up your environment properly using setup.sh. Outside of this there may be some light debugging needed.

In terms of CPU functionality - currently the toolbox only support GPU based training and inference. We will likely add CPU based inference as some point though not in the immediate future. If you need to adapt the code to run on cpu I would do the following things:

  1. In model trainers (eg. rPPG-Toolbox/neural_methods/trainer/DeepPhysTrainer.py) change self.device = torch.device(config.DEVICE) to self.device = torch.device('cpu'). This will force tell the pipeline to use the CPU (instead of possible available gpus).
  2. Comment out lines that reference torch.nn.DataParallel in the trainer as well. These lines are used to split workloads across multiple compute devices.

I think these two changes should get you 90% of the way there. I would start with DeepPhys, and ensure that you are able to run data from a known dataset (try UBFC-rppg) through the pipeline (to get acquainted with the toolbox) - This will likely save you debugging time later if you are running inference on custom videos.

Hope this helps!

girishvn commented 1 month ago

Closing due to inactivity Feel free to re-open if need be.