Skip to content

Instantly share code, notes, and snippets.

View eustlb's full-sized avatar

eustlb

  • Hugging Face
  • Paris, France
View GitHub Profile
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
"""
Reproduce expected outputs for each VoxtralRealtime HF integration test.
Uses vLLM offline inference (as in run_eval.py) to generate reference
transcriptions for every @slow integration test in
test_modeling_voxtral_realtime.py, then saves them to a JSON file.
"""
import json
import json
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
import jiwer
import torch
from datasets import Audio, load_dataset
from transformers import (
VoxtralRealtimeForConditionalGeneration,
from transformers import LasrTokenizer
from transformers.tokenization_utils_sentencepiece import SentencePieceExtractor
from huggingface_hub import hf_hub_download
import sentencepiece
from datasets import load_dataset
from tqdm import tqdm
path = hf_hub_download(repo_id='wuketest/lasr_test', filename='spiece.model')
# vocab_ids, vocab_scores, merges = SentencePieceExtractor(path).extract()
@eustlb
eustlb / convert_proc.py
Last active December 5, 2025 19:47
Lasr Tokenizer trfms vs sentensepiece
from transformers import LasrTokenizer, LasrFeatureExtractor, LasrProcessor
from transformers.tokenization_utils_sentencepiece import SentencePieceExtractor
from huggingface_hub import hf_hub_download
import sentencepiece
from datasets import load_dataset
from tqdm import tqdm
import unicodedata
import re
path = hf_hub_download(repo_id='wuketest/lasr_test', filename='spiece.model')
from transformers import AutoProcessor, HiggsAudioForConditionalGeneration
model_id = "eustlb/higgs-v2"
processor = AutoProcessor.from_pretrained(model_id, device_map="cuda")
processor.tokenizer.pad_token = processor.tokenizer.eos_token
model = HiggsAudioForConditionalGeneration.from_pretrained(model_id, device_map="cuda")
# single speaker smart voice
conversation = [
{
from transformers import AutoProcessor
from transformers.models.mllama.image_processing_mllama import convert_aspect_ratios_to_ids
# Load the chat template from file
with open("/Users/eustachelebihan/dev/add-higgs-v2/tmp/chat_template.jinja", "r") as f:
chat_template = f.read()
# Load expected outputs for comparison
with open("/Users/eustachelebihan/dev/add-higgs-v2/expected/single_speaker_with_smart_voice.txt", "r") as f:
expected_single_speaker_with_smart_voice = f.read()
@eustlb
eustlb / reproduce_integration_tests_parakeet_feature_extractor.py
Created September 15, 2025 18:06
reproducer for parakeet feature extractor integration tests
#run: uv pip install nemo_toolkit[asr]
from nemo.collections.asr.modules import AudioToMelSpectrogramPreprocessor
from transformers import ParakeetFeatureExtractor, ParakeetProcessor
from datasets import load_dataset, Audio
import torch
import numpy as np
torch.use_deterministic_algorithms(True)
@eustlb
eustlb / reproducer_voxtral_mini_wer_librispeech.py
Created September 2, 2025 12:19
reproducer_voxtral_mini_wer_librispeech
from datasets import load_dataset, Audio
from transformers import VoxtralForConditionalGeneration, VoxtralProcessor
import os
import torch
from whisper.normalizers import EnglishTextNormalizer
import jiwer
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
torch_device = "cuda" if torch.cuda.is_available() else "cpu"
@eustlb
eustlb / draft_mapping.py
Created August 3, 2025 19:20
key mapping for parakeet integration
STATE_DICT_MAPPING = {
# Subsampling layer
r"encoder\.pre_encode\.": r"encoder.subsampling.",
# Subsampling specific mappings
r"encoder\.subsampling\.conv\.": r"encoder.subsampling.layers.",
r"encoder\.subsampling\.out\.": r"encoder.subsampling.linear.",
# # Positional encoding (skip pe buffer)
# r"encoder\.pos_enc\.pe$": None, # Skip buffer
r"encoder\.pos_enc\.": r"encoder.encode_positions.",
# Conformer layers - attention (NeMo already uses self_attn)
@eustlb
eustlb / reproducer_test_1b_model_integration.py
Last active August 1, 2025 12:38
reproducer for Parakeet Transformers integration tests
# To install NeMo, run:
# uv pip install git+https://github.com/NVIDIA/NeMo.git@b97e42b3dd1c9bcdf37c81c63220744af474c9c0
from nemo.collections.asr.models import ASRModel
import torch
import os
from datasets import load_dataset
import soundfile as sf
TMP_DIR = "./tmp"