From de1b4a41403988b8a5a1351728bde802e2cfbaf1 Mon Sep 17 00:00:00 2001 From: Kunal Dhawan Date: Mon, 13 Jul 2026 10:18:03 -0700 Subject: [PATCH 1/2] Fix HF transducer notebook restore env Signed-off-by: Kunal Dhawan --- tutorials/asr/Transducers_with_HF_Datasets.ipynb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tutorials/asr/Transducers_with_HF_Datasets.ipynb b/tutorials/asr/Transducers_with_HF_Datasets.ipynb index d4d01436c08f..e80e8a691613 100644 --- a/tutorials/asr/Transducers_with_HF_Datasets.ipynb +++ b/tutorials/asr/Transducers_with_HF_Datasets.ipynb @@ -24,9 +24,6 @@ "# If you're using Google Colab and not running locally, run this cell.\n", "import os\n", "\n", - "# Allow loading trusted checkpoints that hold non-tensor objects (torch>=2.6 weights_only default).\n", - "os.environ[\"TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD\"] = \"1\"\n", - "\n", "# # Install dependencies\n", "!pip install wget\n", "!apt-get install sox libsndfile1 ffmpeg\n", @@ -616,6 +613,8 @@ "outputs": [], "source": [ "del asr_model\n", + "# Restore the notebook-generated model with PyTorch's default safe state-dict path.\n", + "os.environ.pop(\"TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD\", None)\n", "asr_model = ASRModel.restore_from(\"telugu_asr_model.nemo\")\n", "\n", "!rm -r telugu_asr_model.nemo # remove the model to save space\n", From 7cb44e62a27a823949fa5c7da67169eaad597d03 Mon Sep 17 00:00:00 2001 From: Kunal Dhawan Date: Sun, 19 Jul 2026 22:41:40 -0700 Subject: [PATCH 2/2] Fix ASR tutorial notebook restore and setup paths Signed-off-by: Kunal Dhawan --- tutorials/asr/ASR_with_Transducers.ipynb | 4 ++-- tutorials/asr/Multilang_ASR.ipynb | 2 +- tutorials/asr/Streaming_ASR_Pipelines.ipynb | 18 +++++++++++++----- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tutorials/asr/ASR_with_Transducers.ipynb b/tutorials/asr/ASR_with_Transducers.ipynb index de5132f9689c..3ff5fc395e92 100644 --- a/tutorials/asr/ASR_with_Transducers.ipynb +++ b/tutorials/asr/ASR_with_Transducers.ipynb @@ -827,7 +827,7 @@ " monitor=\"val_wer\",\n", " mode=\"min\",\n", " always_save_nemo=True,\n", - " save_best_model=True,\n", + " save_best_model=False,\n", " ),\n", ")\n", "\n", @@ -1342,4 +1342,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} diff --git a/tutorials/asr/Multilang_ASR.ipynb b/tutorials/asr/Multilang_ASR.ipynb index 4492b6cf025c..8d30b0372f16 100644 --- a/tutorials/asr/Multilang_ASR.ipynb +++ b/tutorials/asr/Multilang_ASR.ipynb @@ -580,7 +580,7 @@ }, "outputs": [], "source": [ - "asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained(model_name=\"stt_enes_contextnet_large\")" + "asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained(model_name=\"stt_enes_conformer_transducer_large\")" ] }, { diff --git a/tutorials/asr/Streaming_ASR_Pipelines.ipynb b/tutorials/asr/Streaming_ASR_Pipelines.ipynb index 3cb0743576c8..3afdad631b43 100644 --- a/tutorials/asr/Streaming_ASR_Pipelines.ipynb +++ b/tutorials/asr/Streaming_ASR_Pipelines.ipynb @@ -44,10 +44,17 @@ "# - vllm: required for LLM-based Speech Translation\n", "#\n", "# For a complete Docker-based setup for speech translation with vLLM, see:\n", - "# https://github.com/NVIDIA/NeMo/blob/main/scripts/installers/Dockerfile.speech_translation_vllm\n", + "# https://github.com/NVIDIA-NeMo/Speech/blob/main/scripts/installers/Dockerfile.speech_translation_vllm\n", + "\n", + "import importlib.util\n", + "import subprocess\n", + "import sys\n", "\n", "!pip install nemo_text_processing\n", - "!pip install vllm==0.12.0" + "\n", + "# Avoid replacing the container's matched vLLM/flashinfer packages.\n", + "if importlib.util.find_spec(\"vllm\") is None:\n", + " subprocess.check_call([sys.executable, \"-m\", \"pip\", \"install\", \"vllm==0.12.0\"])" ] }, { @@ -220,9 +227,6 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "# Allow loading trusted checkpoints that hold non-tensor objects (torch>=2.6 weights_only default).\n", - "os.environ[\"TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD\"] = \"1\"\n", - "\n", "from omegaconf import OmegaConf\n", "from nemo.collections.asr.inference.factory.pipeline_builder import PipelineBuilder, BasePipeline\n", "from nemo.collections.asr.inference.streaming.framing.request_options import ASRRequestOptions\n", @@ -483,6 +487,7 @@ " \"streaming.batch_size\": batch_size,\n", " \"streaming.stateful\": stateful,\n", " \"asr_decoding_type\": \"rnnt\",\n", + " \"asr.decoding.greedy.use_cuda_graph_decoder\": False,\n", " \"log_level\": log_level,\n", " },\n", ")\n", @@ -717,6 +722,7 @@ " \"streaming.batch_size\": 8,\n", " \"streaming.stateful\": True,\n", " \"asr_decoding_type\": \"rnnt\",\n", + " \"asr.decoding.greedy.use_cuda_graph_decoder\": False,\n", " \"log_level\": 40,\n", " \"asr.decoding.greedy.preserve_frame_confidence\": True, # enable per-token confidence scores\n", " },\n", @@ -997,6 +1003,7 @@ " \"streaming.batch_size\": 8,\n", " \"streaming.stateful\": True,\n", " \"asr_decoding_type\": \"rnnt\",\n", + " \"asr.decoding.greedy.use_cuda_graph_decoder\": False,\n", " \"log_level\": 40,\n", " \"enable_itn\": True, # compile & load ITN grammar at startup\n", " \"lang\": \"en\", # language code for the ITN grammar; required when enable_itn=True\n", @@ -1159,6 +1166,7 @@ " \"streaming.batch_size\": 8,\n", " \"streaming.stateful\": True,\n", " \"asr_decoding_type\": \"rnnt\",\n", + " \"asr.decoding.greedy.use_cuda_graph_decoder\": False,\n", " \"log_level\": 40,\n", " \"enable_nmt\": True,\n", " \"nmt.model_name\": \"utter-project/EuroLLM-1.7B-Instruct\",\n",