File size: 9,040 Bytes
74e8c79 |
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
* [Virtual environment](#virtual-environment)
* [Docker](#docker)
* For long-form inference:
* generate [Hugging Face API token](https://huggingface.co/docs/hub/security-tokens)
* accept the conditions to access [pyannote/voice-activity-detection](https://huggingface.co/pyannote/voice-activity-detection) files and content
* accept the conditions to access [pyannote/segmentation](https://huggingface.co/pyannote/segmentation) files and content
## Virtual environment
```bash
apt install python3-dev
apt install python3-venv
apt install ffmpeg libavcodec-extra
```
```bash
python3.10 -m venv venv && . venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install Cython
pip install -U wheel
pip install git+https://github.com/NVIDIA/NeMo.git@1fa961ba03ab5f8c91b278640e29807079373372#egg=nemo_toolkit[all]
pip install pyannote.audio==3.2.0
mkdir ./data
wget https://n-ws-q0bez.s3pd12.sbercloud.ru/b-ws-q0bez-jpv/GigaAM/{ssl_model_weights.ckpt,emo_model_weights.ckpt,ctc_model_weights.ckpt,rnnt_model_weights.ckpt,ctc_model_config.yaml,emo_model_config.yaml,encoder_config.yaml,rnnt_model_config.yaml,tokenizer_all_sets.tar,example.wav,long_example.wav} -P ./data && tar -xf ./data/tokenizer_all_sets.tar --directory ./data/ && rm ./data/tokenizer_all_sets.tar
# GigaAM
python ssl_inference.py --encoder_config ./data/encoder_config.yaml \
--model_weights ./data/ssl_model_weights.ckpt --device cuda --audio_path ./data/example.wav
# encoded signal shape: torch.Size([1, 768, 283])
# GigaAM-CTC
python ctc_inference.py --model_config ./data/ctc_model_config.yaml \
--model_weights ./data/ctc_model_weights.ckpt --device cuda --audio_path ./data/example.wav
# transcription: ничьих не требуя похвал счастлив уж я надеждой сладкой что дева с трепетом любви посмотрит может быть украдкой на песни грешные мои у лукоморья дуб зеленый
# GigaAM-CTC long-form
python ctc_longform_inference.py --model_config ./data/ctc_model_config.yaml \
--model_weights ./data/ctc_model_weights.ckpt --device cuda \
--audio_path ./data/long_example.wav --hf_token <YOUR_HF_TOKEN>
# [00:00:00 - 00:16:83]: вечерня отошла давно но в кельях тихо и темно уже и сам эгумин строгий свои молитвы прекратил и кости ветхие склонил перекрестясь на одр убогий кругом и сон и тишина но церкви дверь отворена
# [00:17:10 - 00:32:61]: трепещет луч лампады и тускло озаряет он и темную живопись икон и возлощенные оклады и раздается в тишине то тяжкий вздох то шепот важный и мрачно дремлет в вашине старинный свод
# ...
# GigaAM-RNNT
python rnnt_inference.py --model_config ./data/rnnt_model_config.yaml \
--model_weights ./data/rnnt_model_weights.ckpt --tokenizer_path ./data/tokenizer_all_sets \
--device cuda --audio_path ./data/example.wav
# transcription: ничьих не требуя похвал счастлив уж я надеждой сладкой что дева с трепетом любви посмотрит может быть украдкой на песни грешные мои у лукоморья дуб зеленый
# GigaAM-RNNT long-form
python rnnt_longform_inference.py --model_config ./data/rnnt_model_config.yaml \
--model_weights ./data/rnnt_model_weights.ckpt --tokenizer_path ./data/tokenizer_all_sets \
--device cuda --audio_path ./data/long_example.wav --hf_token <YOUR_HF_TOKEN>
# [00:00:00 - 00:16:83]: вечерня отошла давно но в кельях тихо и темно уже и сам игумин строгий свои молитвы прекратил и кости ветхие склонил перекрестясь на одр убогий кругом и сон и тишина но церкви дверь отворена
# [00:17:10 - 00:32:61]: трепещет луч лампады и тускло озаряет он и темну живопись икон и возлащенные оклады и раздается в тишине то тяжкий вздох то шепот важный и мрачно дремлет в вышине старинный свод
# ...
# GigaAM-Emo
python emo_inference.py --model_config ./data/emo_model_config.yaml \
--model_weights ./data/emo_model_weights.ckpt --device cuda --audio_path ./data/example.wav
# angry: 0.000, sad: 0.002, neutral: 0.923, positive: 0.074
```
## Docker
```bash
docker build -t gigaam_image .
# GigaAM
docker run -v $PWD:/workspace/gigaam --gpus all gigaam_image \
python /workspace/gigaam/ssl_inference.py --encoder_config /workspace/data/encoder_config.yaml \
--model_weights /workspace/data/ssl_model_weights.ckpt \
--device cuda --audio_path /workspace/data/example.wav
# encoded signal shape: torch.Size([1, 768, 283])
# GigaAM-CTC
docker run -v $PWD:/workspace/gigaam --gpus all gigaam_image \
python /workspace/gigaam/ctc_inference.py --model_config /workspace/data/ctc_model_config.yaml \
--model_weights /workspace/data/ctc_model_weights.ckpt \
--device cuda --audio_path /workspace/data/example.wav
# transcription: ничьих не требуя похвал счастлив уж я надеждой сладкой что дева с трепетом любви посмотрит может быть украдкой на песни грешные мои у лукоморья дуб зеленый
# GigaAM-CTC longform
docker run -v $PWD:/workspace/gigaam --gpus all gigaam_image \
python /workspace/gigaam/ctc_longform_inference.py --model_config /workspace/data/ctc_model_config.yaml \
--model_weights /workspace/data/ctc_model_weights.ckpt --device cuda \
--audio_path /workspace/data/long_example.wav --hf_token <YOUR_HF_TOKEN>
# [00:00:00 - 00:16:83]: вечерня отошла давно но в кельях тихо и темно уже и сам эгумин строгий свои молитвы прекратил и кости ветхие склонил перекрестясь на одр убогий кругом и сон и тишина но церкви дверь отворена
# [00:17:10 - 00:32:61]: трепещет луч лампады и тускло озаряет он и темную живопись икон и возлощенные оклады и раздается в тишине то тяжкий вздох то шепот важный и мрачно дремлет в вашине старинный свод
# ...
# GigaAM-RNNT
docker run -v $PWD:/workspace/gigaam --gpus all gigaam_image \
python /workspace/gigaam/rnnt_inference.py --model_config /workspace/data/rnnt_model_config.yaml \
--model_weights /workspace/data/rnnt_model_weights.ckpt --tokenizer_path /workspace/data/tokenizer_all_sets \
--device cuda --audio_path /workspace/data/example.wav
# transcription: ничьих не требуя похвал счастлив уж я надеждой сладкой что дева с трепетом любви посмотрит может быть украдкой на песни грешные мои у лукоморья дуб зеленый
# GigaAM-RNNT longform
docker run -v $PWD:/workspace/gigaam --gpus all gigaam_image \
python /workspace/gigaam/rnnt_longform_inference.py --model_config /workspace/data/rnnt_model_config.yaml \
--model_weights /workspace/data/rnnt_model_weights.ckpt --tokenizer_path /workspace/data/tokenizer_all_sets \
--device cuda --audio_path /workspace/data/long_example.wav --hf_token <YOUR_HF_TOKEN>
# [00:00:00 - 00:16:83]: вечерня отошла давно но в кельях тихо и темно уже и сам игумин строгий свои молитвы прекратил и кости ветхие склонил перекрестясь на одр убогий кругом и сон и тишина но церкви дверь отворена
# [00:17:10 - 00:32:61]: трепещет луч лампады и тускло озаряет он и темну живопись икон и возлащенные оклады и раздается в тишине то тяжкий вздох то шепот важный и мрачно дремлет в вышине старинный свод
# ...
# GigaAM-Emo
docker run -v $PWD:/workspace/gigaam --gpus all gigaam_image \
python /workspace/gigaam/emo_inference.py --model_config /workspace/data/emo_model_config.yaml \
--model_weights /workspace/data/emo_model_weights.ckpt \
--device cuda --audio_path /workspace/data/example.wav
# angry: 0.000, sad: 0.002, neutral: 0.923, positive: 0.074
```
|