File size: 1,407 Bytes
e146811
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
# Build isolated icefall training venv (torch 2.4.1+cu124 + matching k2 + lhotse + icefall deps)
set -e
VENV=/workspace/venvs/icefall
echo "=== $(date) setup_env START ==="
mkdir -p /workspace/venvs
python3 -m venv $VENV
source $VENV/bin/activate
python -m pip install -U pip wheel setuptools 2>&1 | tail -1

echo "=== torch 2.4.1 + torchaudio (cu124) ==="
pip install torch==2.4.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124 2>&1 | tail -2

echo "=== k2 (exact matching wheel) ==="
pip install k2==1.24.4.dev20250715+cuda12.4.torch2.4.1 -f https://k2-fsa.github.io/k2/cuda.html 2>&1 | tail -3

echo "=== lhotse + icefall deps ==="
pip install lhotse kaldialign sentencepiece tensorboard librosa soundfile \
    kaldi-native-fbank kaldilm numpy'<2' 2>&1 | tail -3
pip install -r /root/icefall/requirements.txt 2>&1 | tail -3 || echo "icefall reqs partial (ok)"

echo "=== VERIFY ==="
python - <<'PY'
import torch, k2, lhotse
print("torch", torch.__version__, "cuda_avail", torch.cuda.is_available(), "dev", torch.cuda.get_device_name(0) if torch.cuda.is_available() else None)
print("k2", k2.__version__)
print("lhotse", lhotse.__version__)
# quick k2 cuda smoke test
a = k2.Fsa.from_str("0 1 1 0.1\n1 2 -1 0.2\n2", num_aux_labels=0)
print("k2 fsa ok, ragged ok:", k2.RaggedTensor([[1,2],[3]]).sum())
PY
echo "=== $(date) setup_env DONE ==="
touch $VENV/.SETUP_COMPLETE