How to install PWC-Net and Ubuntu on Windows 11
It might be easier if you don’t have any other version of CUDA installed or any other Ubuntu subsystem. If you do, and the installations you currently have are essential to whatever work you need to do, start by installing the most problematic library in this case, which is CuPy.
Before getting into anything else, let’s check out the version od PWC-Net I’ll use:
In my experience, the problematic library is CuPy. According to the requirements file you’ll need at least CuPy 5.0
Looking at the minimum pytorch version which is 1.6.0, we need CUDA 10.1. However the CuPy page shows the min requirements for CUDA
So 10.1 is a no go. Just because I’d like to not have to mess with uninstalling and installing again for a future project, I’m going to choose CUDA 11.8 and it’s corresponding pytorch version (2.2.2)
Now that we decided on the versions, let’s make sure no cuda is installed. Or check what CUDA version is compatible with the necesary CuPy version.
check cuda install
~$ nvidia-smi
If you are working in windows the same command will work to check if it exist. If it does, uninstall CUDA like you would any other program.
Start installing
if you have a “clean slate” start by installing ubuntu 18.04 or 22.04 from the microsoft store
Once you have, let’s install Anaconda to keep am organized environment. You can follow this Digital Ocean article on how to install it easily.
Now we can create an environment with the following command:
~$ conda create --name pwcnet
and the following command to enter the environment:
~$ conda activate pwcnet
if you forgot the name of your installation
~$ conda env list
Install CUDA 11.8
I’m not gonna cover it for windows since it’s just clicking to the next stage. For ubuntu or any other Linux distribution you’d like, follow the steps presented on the official page for CUDA 11.8
follow this video for reference
Check CUDA Install
reboot and check installation
Install CuPy
~$ pip3 install cupy
Install PyTorch and the rest of dependencies
~$ pip3 install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu118
~$ pip3 install pillow
Clone github and test the code
~$ git clone https://github.com/sniklaus/pytorch-pwc.git
~$ cd pytorch-pwc
once it’s done, run this command
~$ python run.py --model default --one ./images/one.png --two ./images/two.png --out ./out.flo