Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"2025-09-10 16:41:59 - INFO - Notebook execution started.\n"
"2025-11-25 13:08:43 - INFO - Notebook execution started.\n"
]
}
],
Expand All @@ -87,8 +87,8 @@
"output_type": "stream",
"text": [
"Note: you may need to restart the kernel to use updated packages.\n",
"CPU times: user 209 ms, sys: 30.1 ms, total: 239 ms\n",
"Wall time: 15.9 s\n"
"CPU times: user 37.2 ms, sys: 12.4 ms, total: 49.6 ms\n",
"Wall time: 2.32 s\n"
]
}
],
Expand All @@ -107,8 +107,10 @@
"name": "stderr",
"output_type": "stream",
"text": [
"[NeMo W 2025-09-10 16:42:26 nemo_logging:349] /opt/conda/envs/aistudio/lib/python3.10/site-packages/_distutils_hack/__init__.py:53: UserWarning: Reliance on distutils from stdlib is deprecated. Users must rely on setuptools to provide the distutils module. Avoid importing distutils or import setuptools first, and avoid setting SETUPTOOLS_USE_DISTUTILS=stdlib. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml\n",
" warnings.warn(\n",
"/usr/local/lib/python3.12/dist-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n",
"[NeMo W 2025-11-25 13:08:55 nemo_logging:405] /usr/local/lib/python3.12/dist-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work\n",
" warn(\"Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work\", RuntimeWarning)\n",
" \n"
]
}
Expand Down Expand Up @@ -152,7 +154,8 @@
"import sys\n",
"sys.path.append(\"../src\")\n",
"from onnx_utils import ModelExportConfig\n",
"from utils import load_config"
"from utils import load_config\n",
"import shutil as cleanup_shutil"
]
},
{
Expand Down Expand Up @@ -408,143 +411,33 @@
"name": "stderr",
"output_type": "stream",
"text": [
"2025/09/10 16:42:32 INFO mlflow.tracking.fluent: Experiment with name 'NeMo_Translation_Experiment' does not exist. Creating a new experiment.\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f33d4f89b51b4054bf6a9d8066d73ce6",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"config.json: 0.00B [00:00, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "8d9c810d6ae64b80baae875f120319bd",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"pytorch_model.bin: 0%| | 0.00/312M [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ccd0220fd446488c976734a8249862a7",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"generation_config.json: 0%| | 0.00/293 [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2025-09-10 16:44:03 - INFO - 🔧 Generating ONNX model(s) for specified models...\n",
"2025-09-10 16:44:03 - INFO - 🔄 Converting transformers model: Helsinki-NLP\n",
"2025-09-10 16:44:03 - INFO - 📁 Model directory: Helsinki-NLP\n",
"2025-09-10 16:44:03 - INFO - 🔍 Model identified as: transformers\n",
"2025-09-10 16:44:03 - INFO - 🤗 Converting loaded Transformers model for task: translation with opset 12\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "de456db8e5ba4b228ae6f3724693f4cb",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"tokenizer_config.json: 0%| | 0.00/44.0 [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "dddb8d01ad0642f5b5b751f040264da3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"source.spm: 0%| | 0.00/802k [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "07756f2d6a634aac92bd7c5347c0d43d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"target.spm: 0%| | 0.00/826k [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ac270a8483a24e4280c4e3bbb489c367",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"vocab.json: 0.00B [00:00, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2025-09-10 16:44:11 - INFO - ✅ Transformers model exported to: Helsinki-NLP/model.onnx\n",
"2025-09-10 16:44:11 - INFO - ✅ Converted Helsinki-NLP to directory: Helsinki-NLP\n",
"2025-09-10 16:44:11 - INFO - 🔄 Converting nemo model: enc_dec_CTC\n",
"2025-09-10 16:44:11 - INFO - 📁 Model directory: enc_dec_CTC\n",
"2025-09-10 16:44:11 - INFO - 🔍 Model identified as: nemo\n",
"2025-09-10 16:44:11 - INFO - 🔄 Exporting loaded NeMo model with format: ONNX\n",
"2025-09-10 16:44:11 - INFO - 🔄 Using official NVIDIA export() method\n",
"2025-09-10 16:44:28 - INFO - Model saved to ONNX: enc_dec_CTC/model.onnx\n",
"2025-09-10 16:44:28 - INFO - ✅ Converted enc_dec_CTC to directory: enc_dec_CTC\n",
"2025-09-10 16:44:28 - INFO - 🔄 Converting nemo model: fast_pitch\n",
"2025-09-10 16:44:28 - INFO - 📁 Model directory: fast_pitch\n",
"2025-09-10 16:44:28 - INFO - 🔍 Model identified as: nemo\n",
"2025-09-10 16:44:28 - INFO - 🔄 Exporting loaded NeMo model with format: ONNX\n",
"2025-09-10 16:44:28 - INFO - 🔄 Using official NVIDIA export() method\n",
"2025-09-10 16:44:36 - INFO - Model saved to ONNX: fast_pitch/model.onnx\n",
"2025-09-10 16:44:36 - INFO - ✅ Converted fast_pitch to directory: fast_pitch\n",
"2025-09-10 16:44:36 - INFO - 🔄 Converting nemo model: hifi_gan\n",
"2025-09-10 16:44:36 - INFO - 📁 Model directory: hifi_gan\n",
"2025-09-10 16:44:36 - INFO - 🔍 Model identified as: nemo\n",
"2025-09-10 16:44:36 - INFO - 🔄 Exporting loaded NeMo model with format: ONNX\n",
"2025-09-10 16:44:36 - INFO - 🔄 Using official NVIDIA export() method\n"
"2025-11-25 13:09:00 - INFO - Cleaned up malformed experiment directory: /phoenix/mlflow/tmp\n",
"2025-11-25 13:09:43 - INFO - 🔧 Generating ONNX model(s) for specified models...\n",
"2025-11-25 13:09:43 - INFO - 🔄 Converting transformers model: Helsinki-NLP\n",
"2025-11-25 13:09:43 - INFO - 📁 Model directory: Helsinki-NLP\n",
"2025-11-25 13:09:43 - INFO - 🔍 Model identified as: transformers\n",
"2025-11-25 13:09:43 - INFO - 🤗 Converting loaded Transformers model for task: translation with opset 12\n",
"2025-11-25 13:09:51 - INFO - ✅ Transformers model exported to: Helsinki-NLP/model.onnx\n",
"2025-11-25 13:09:51 - INFO - ✅ Converted Helsinki-NLP to directory: Helsinki-NLP\n",
"2025-11-25 13:09:51 - INFO - 🔄 Converting nemo model: enc_dec_CTC\n",
"2025-11-25 13:09:51 - INFO - 📁 Model directory: enc_dec_CTC\n",
"2025-11-25 13:09:51 - INFO - 🔍 Model identified as: nemo\n",
"2025-11-25 13:09:51 - INFO - 🔄 Exporting loaded NeMo model with format: ONNX\n",
"2025-11-25 13:09:51 - INFO - 🔄 Using official NVIDIA export() method\n",
"2025-11-25 13:10:06 - INFO - Model saved to ONNX: enc_dec_CTC/model.onnx\n",
"2025-11-25 13:10:06 - INFO - ✅ Converted enc_dec_CTC to directory: enc_dec_CTC\n",
"2025-11-25 13:10:06 - INFO - 🔄 Converting nemo model: fast_pitch\n",
"2025-11-25 13:10:06 - INFO - 📁 Model directory: fast_pitch\n",
"2025-11-25 13:10:06 - INFO - 🔍 Model identified as: nemo\n",
"2025-11-25 13:10:06 - INFO - 🔄 Exporting loaded NeMo model with format: ONNX\n",
"2025-11-25 13:10:06 - INFO - 🔄 Using official NVIDIA export() method\n",
"2025-11-25 13:10:10 - INFO - Model saved to ONNX: fast_pitch/model.onnx\n",
"2025-11-25 13:10:10 - INFO - ✅ Converted fast_pitch to directory: fast_pitch\n",
"2025-11-25 13:10:10 - INFO - 🔄 Converting nemo model: hifi_gan\n",
"2025-11-25 13:10:10 - INFO - 📁 Model directory: hifi_gan\n",
"2025-11-25 13:10:10 - INFO - 🔍 Model identified as: nemo\n",
"2025-11-25 13:10:10 - INFO - 🔄 Exporting loaded NeMo model with format: ONNX\n",
"2025-11-25 13:10:10 - INFO - 🔄 Using official NVIDIA export() method\n"
]
},
{
Expand All @@ -559,129 +452,40 @@
"name": "stderr",
"output_type": "stream",
"text": [
"2025-09-10 16:44:38 - INFO - Model saved to ONNX: hifi_gan/model.onnx\n",
"2025-09-10 16:44:38 - INFO - ✅ Converted hifi_gan to directory: hifi_gan\n",
"2025-09-10 16:44:38 - INFO - 📦 Added model directory artifact: model_Helsinki-NLP -> Helsinki-NLP\n",
"2025-09-10 16:44:38 - INFO - 📦 Added model directory artifact: model_enc_dec_CTC -> enc_dec_CTC\n",
"2025-09-10 16:44:38 - INFO - 📦 Added model directory artifact: model_fast_pitch -> fast_pitch\n",
"2025-09-10 16:44:38 - INFO - 📦 Added model directory artifact: model_hifi_gan -> hifi_gan\n",
"2025-09-10 16:44:38 - INFO - No Triton structure requested, using model directories as-is\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "95a68671d94846d58cf1c50cca854d2b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/3 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d86bcd3072484a7a934cec7474bad861",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/49 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "73c38097ba4846319483aa4b45d48fa7",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/1 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "005ce541a789400da13d5b975355ec31",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/1 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5d7a32707e284fda8315844ab8da82e8",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/1 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "fec74b4e8ed5489eadf52d6d4c37982e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/1 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "65640f20e8254f1faa06ff1037835782",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading artifacts: 0%| | 0/1 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2025-09-10 16:45:35 - INFO - Model logged with artifacts: ['model', 'demo', 'config', 'model_Helsinki-NLP', 'model_enc_dec_CTC', 'model_fast_pitch', 'model_hifi_gan']\n",
"2025-09-10 16:45:35 - INFO - ✅ Model logged with 4 model directories created!\n",
"Successfully registered model 'nemo_en_es'.\n",
"Created version '1' of model 'nemo_en_es'.\n"
"2025-11-25 13:10:11 - INFO - Model saved to ONNX: hifi_gan/model.onnx\n",
"2025-11-25 13:10:12 - INFO - ✅ Converted hifi_gan to directory: hifi_gan\n",
"2025-11-25 13:10:12 - INFO - 📦 Added model directory artifact: model_Helsinki-NLP -> Helsinki-NLP\n",
"2025-11-25 13:10:12 - INFO - 📦 Added model directory artifact: model_enc_dec_CTC -> enc_dec_CTC\n",
"2025-11-25 13:10:12 - INFO - 📦 Added model directory artifact: model_fast_pitch -> fast_pitch\n",
"2025-11-25 13:10:12 - INFO - 📦 Added model directory artifact: model_hifi_gan -> hifi_gan\n",
"2025-11-25 13:10:12 - INFO - No Triton structure requested, using model directories as-is\n",
"Downloading artifacts: 100%|██████████| 3/3 [00:04<00:00, 1.39s/it]\n",
"Downloading artifacts: 100%|██████████| 6/6 [00:00<00:00, 702.09it/s] \n",
"Downloading artifacts: 100%|██████████| 1/1 [00:00<00:00, 165.31it/s]\n",
"Downloading artifacts: 100%|██████████| 1/1 [00:03<00:00, 3.35s/it]\n",
"Downloading artifacts: 100%|██████████| 1/1 [00:04<00:00, 4.55s/it]\n",
"Downloading artifacts: 100%|██████████| 1/1 [00:01<00:00, 1.38s/it]\n",
"Downloading artifacts: 100%|██████████| 1/1 [00:00<00:00, 2.06it/s]\n",
"2025-11-25 13:10:45 - INFO - Model logged with artifacts: ['model', 'demo', 'config', 'model_Helsinki-NLP', 'model_enc_dec_CTC', 'model_fast_pitch', 'model_hifi_gan']\n",
"2025-11-25 13:10:45 - INFO - ✅ Model logged with 4 model directories created!\n",
"Registered model 'nemo_en_es' already exists. Creating a new version of this model...\n",
"Created version '4' of model 'nemo_en_es'.\n"
]
}
],
"source": [
"# ------------------------- MLflow Model Logging and Registration -------------------------\n",
"\n",
"mlflow.set_tracking_uri('/phoenix/mlflow')\n",
"# Set the MLflow experiment\n",
"\n",
"malformed_exp_path = \"/phoenix/mlflow/tmp\"\n",
"if os.path.exists(malformed_exp_path) and os.path.isdir(malformed_exp_path):\n",
" try:\n",
" cleanup_shutil.rmtree(malformed_exp_path)\n",
" logger.info(f\"Cleaned up malformed experiment directory: {malformed_exp_path}\")\n",
" except Exception as e:\n",
" logger.warning(f\"Could not clean up {malformed_exp_path}: {e}\")\n",
" \n",
"mlflow.set_experiment(experiment_name=EXPERIMENT_NAME)\n",
"\n",
"# Start a new MLflow run\n",
Expand Down Expand Up @@ -737,8 +541,8 @@
"name": "stderr",
"output_type": "stream",
"text": [
"2025-09-10 16:45:36 - INFO - ⏱️ Total execution time: 3m 36.62s\n",
"2025-09-10 16:45:36 - INFO - ✅ Notebook execution completed successfully.\n"
"2025-11-25 13:10:45 - INFO - ⏱️ Total execution time: 2m 2.11s\n",
"2025-11-25 13:10:45 - INFO - ✅ Notebook execution completed successfully.\n"
]
}
],
Expand Down Expand Up @@ -776,7 +580,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
"version": "3.12.3"
}
},
"nbformat": 4,
Expand Down
Loading
Loading