We finally managed to install DAMM on windows using WSL.
A nice thing was that we could install cuda 11.3 even though our windows box has cuda 12.2. This made it much easier to deal with the requirement installation (we just followed pip install -r requirements-gpu.txt). Here's a re-cap of what we did. This might not be reproducible in another machine, but it's as close as we could get to make it reproducible on our end.
Check the cuda version on the windows side.
This cuda version does not match the required by DAMM.
We will attempt to install different cuda in WSL first
You might have wsl version 1 installed. If that's the case, to upgrade your WSL from version 1 to version 2, you'll need to follow this series of steps. WSL 2 offers significant improvements over WSL 1, including full system call compatibility, and is required for running Docker and GPU-accelerated applications. Here’s how you can upgrade:
Step 1: Ensure Your Windows Version Supports WSL 2
WSL 2 requires Windows 10 Version 1903 or higher, with Build 18362 or higher for x64 systems, and Version 2004 or higher with Build 19041 or higher for ARM64 systems.
Check Your Windows Version: Press Win + R, type winver, and press Enter to check your Windows version and build number.
Step 2: Enable WSL and Virtual Machine Platform
Enable WSL: Open PowerShell as Administrator and run:
Set WSL 2 as Default: Open PowerShell as Administrator and run:
wsl --set-default-version 2
Step 4: Upgrade Your Existing WSL 1 Distributions
Upgrade Your Distro: If you have existing distributions installed under WSL 1, you’ll need to upgrade them individually. You can check your installed distributions and their WSL versions by running:
wsl -l -v
For each distribution that you want to upgrade, execute:
wsl --set-version <distribution name> 2
Replace with the actual name of your distribution, e.g., Ubuntu.
Verify the Upgrade: Use wsl -l -v again to ensure your distributions are now running under WSL 2.
For example
C:\Users\dlc>wsl --set-version Ubuntu 2
Conversion in progress, this may take a few minutes...
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
Conversion complete.
C:\Users\dlc>wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
Get into wsl
C:\Users\dlc>wsl
(base) dlc@DESKTOP-2PSHMD4:/mnt/c/Users/dlc$
(base) dlc@DESKTOP-2PSHMD4:/mnt/c/Users/dlc$ conda deactivate # if needed because (base) autostart
Everything that follows is inside wsl.
Install cuda version in wsl
CAUTION: Notice we will be working under /mnt/c/Users/dlc, that's the Windows partition, not the Ubuntu classical /home/dlc. You can do this anywhere you like but, in order to reproduce the behavior, paths are important (also avoiding to clone the repos in many different places).
Check the compiler. We didn't need to build from source, but if you need to build stuff, you might need gcc to be working.
(damm_env) dlc@DESKTOP-2PSHMD4:/mnt/c/Users/dlc$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
To get cuda toolkit 11.3 (the version needed by DAMM), execute:
We finally managed to install DAMM on windows using WSL. A nice thing was that we could install cuda 11.3 even though our windows box has cuda 12.2. This made it much easier to deal with the requirement installation (we just followed
pip install -r requirements-gpu.txt
). Here's a re-cap of what we did. This might not be reproducible in another machine, but it's as close as we could get to make it reproducible on our end.Check the cuda version on the windows side. This cuda version does not match the required by DAMM. We will attempt to install different cuda in WSL first
Make sure wsl is WSL2
You might have wsl version 1 installed. If that's the case, to upgrade your WSL from version 1 to version 2, you'll need to follow this series of steps. WSL 2 offers significant improvements over WSL 1, including full system call compatibility, and is required for running Docker and GPU-accelerated applications. Here’s how you can upgrade:
Step 1: Ensure Your Windows Version Supports WSL 2
WSL 2 requires Windows 10 Version 1903 or higher, with Build 18362 or higher for x64 systems, and Version 2004 or higher with Build 19041 or higher for ARM64 systems.
Check Your Windows Version: Press
Win + R
, typewinver
, and press Enter to check your Windows version and build number.Step 2: Enable WSL and Virtual Machine Platform
Enable WSL: Open PowerShell as Administrator and run:
Enable Virtual Machine Platform: Still in PowerShell, execute:
Restart Your Computer.
Step 3: Set WSL 2 as Your Default Version
Set WSL 2 as Default: Open PowerShell as Administrator and run:
Step 4: Upgrade Your Existing WSL 1 Distributions
Upgrade Your Distro: If you have existing distributions installed under WSL 1, you’ll need to upgrade them individually. You can check your installed distributions and their WSL versions by running:
Replace with the actual name of your distribution, e.g., Ubuntu.
Verify the Upgrade: Use wsl -l -v again to ensure your distributions are now running under WSL 2.
For example
Get into wsl
Everything that follows is inside wsl.
Install cuda version in wsl
CAUTION: Notice we will be working under
/mnt/c/Users/dlc
, that's the Windows partition, not the Ubuntu classical/home/dlc
. You can do this anywhere you like but, in order to reproduce the behavior, paths are important (also avoiding to clone the repos in many different places).Check the compiler. We didn't need to build from source, but if you need to build stuff, you might need gcc to be working.
To get cuda toolkit 11.3 (the version needed by DAMM), execute:
Try to check if the cuda version is proper
Even if the installation went properly, you might get:
Check the install again
Export paths and check nvcc again.
Create virtual environment for DAMM
If you haven't cloned the repo yet, you can do this inside
(damm_env)
Get the network weights
To get the default model weights do:
Try that the install is running
You can follow the tutorial on colab to get an idea of how to configure the tracker with a video