Installation
These steps have been tested on Ubuntu 18.04, 20.04 and 22.04. Other Linux versions may work, since most processing takes place in a Docker container. However, the install_docker.sh script is currently specific to Ubuntu. Your machine does need NVIDIA GPU drivers installed. Your machine does NOT need CUDA installed.
- Clone the repository
git clone https://github.com/MyrtleSoftware/caiman-asr.git && cd caiman-asr
- Install Docker
source training/install_docker.sh
- Add your username to the docker group:
sudo usermod -a -G docker [user]
Run the following in the same terminal window, and you might not have to log out and in again:
newgrp docker
- Build the docker image
# Build from Dockerfile
cd training
./scripts/docker/build.sh
- Start an interactive session in the Docker container mounting the volumes, as described in the next section.
./scripts/docker/launch.sh <DATASETS> <CHECKPOINTS> <RESULTS>
Requirements
Currently, the reference uses CUDA-12.2. Here you can find a table listing compatible drivers: https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver
Information about volume mounts
Setting up the training environment requires mounting the three directories:
<DATASETS>
, <CHECKPOINTS>
, and <RESULTS>
for the training data, model checkpoints, and results, respectively.
The following table shows the mappings between directories on a host machine and inside the container.
Host machine | Inside container |
---|---|
training | /workspace/training |
<DATASETS> | /datasets |
<CHECKPOINTS> | /checkpoints |
<RESULTS> | /results |
If your <DATASETS>
directory contains symlinks to other drives (i.e. if your data is too large to fit on a single drive),
they will not be accessible from within the running container. In this case, you can pass the absolute paths to your drives
as the 4th, 5th, 6th, ... arguments to ./scripts/docker/launch.sh
.
This will enable the container to follow symlinks to these drives.
During training, the model checkpoints are saved to the /results
directory so it is sometimes convenient to
load them from /results
rather than from /checkpoints
.
Next Steps
Go to the Data preparation docs to see how to download and preprocess data in advance of training.