Instructions to use alexandrubent/proiect-pvmd with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use alexandrubent/proiect-pvmd with NeMo:
# tag did not correspond to a valid NeMo domain.
- Notebooks
- Google Colab
- Kaggle
| set -e | |
| echo "===================================" | |
| echo "PVMD - Parakeet Romanian Fine-tuning" | |
| echo "===================================" | |
| # Activare mediu | |
| source /opt/conda/etc/profile.d/conda.sh | |
| conda activate pvmd | |
| # Variabile | |
| export HF_HOME=/mnt/parakeet-training/cache/huggingface | |
| export HF_DATASETS_CACHE=/mnt/parakeet-training/cache/datasets | |
| export PYSPARK_PYTHON=/opt/conda/envs/pvmd/bin/python | |
| export PYSPARK_DRIVER_PYTHON=/opt/conda/envs/pvmd/bin/python | |
| DATASET_NAME="datadriven-company/TTS-Romanian" | |
| MODEL_PATH="/mnt/parakeet-training/models/parakeet-romanian/SpeD-ParakeetRo_110M_TDT-CTC.nemo" | |
| AUDIO_DIR="/mnt/parakeet-training/datasets/audio_wav" | |
| MANIFEST_DIR="/mnt/parakeet-training/datasets/manifests" | |
| OUTPUT_DIR="/mnt/parakeet-training/outputs/nemo-finetune" | |
| mkdir -p "$AUDIO_DIR" "$MANIFEST_DIR" "$OUTPUT_DIR" | |
| echo "[1/4] Extragere audio din dataset..." | |
| python src/extract_audio_for_nemo.py \ | |
| --dataset_name "$DATASET_NAME" \ | |
| --output_audio_dir "$AUDIO_DIR" \ | |
| --output_manifest "$MANIFEST_DIR/full_manifest.json" \ | |
| --target_sr 16000 \ | |
| --cache_dir /mnt/parakeet-training/cache/datasets | |
| echo "[2/4] Împărțire train/validation..." | |
| python -c " | |
| import json, random | |
| random.seed(42) | |
| with open('$MANIFEST_DIR/full_manifest.json') as f: | |
| lines = f.readlines() | |
| random.shuffle(lines) | |
| split = int(len(lines) * 0.95) | |
| train = lines[:split] | |
| val = lines[split:] | |
| with open('$MANIFEST_DIR/train_manifest.json', 'w') as f: | |
| f.writelines(train) | |
| with open('$MANIFEST_DIR/val_manifest.json', 'w') as f: | |
| f.writelines(val) | |
| print(f'Train: {len(train)}, Val: {len(val)}') | |
| " | |
| echo "[3/4] Preprocesare PySpark (opțional - filtre avansate)..." | |
| # python src/preprocess_nemo_manifest.py ... | |
| echo "[4/4] Antrenament NeMo..." | |
| python src/train_nemo.py \ | |
| --model_path "$MODEL_PATH" \ | |
| --train_manifest "$MANIFEST_DIR/train_manifest.json" \ | |
| --val_manifest "$MANIFEST_DIR/val_manifest.json" \ | |
| --output_dir "$OUTPUT_DIR" \ | |
| --max_epochs 10 \ | |
| --batch_size 16 \ | |
| --lr 2e-3 \ | |
| --warmup_steps 5000 \ | |
| --precision bf16-mixed \ | |
| --accumulate_grad_batches 4 | |
| echo "===================================" | |
| echo "Antrenament finalizat!" | |
| echo "Output: $OUTPUT_DIR" | |
| echo "===================================" | |