File size: 1,736 Bytes
7ef1aa8 | 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 | import nemo.collections.asr as nemo_asr
import torch
import os
MODEL_PATH = "c:/Users/USER/queue-buddy/mon_modele_soloni/soloni-114m-tdt-ctc-v3.nemo"
print(f"Testing load from: {MODEL_PATH}")
if not os.path.exists(MODEL_PATH):
print("Error: File not found!")
exit(1)
try:
print("Attempt 1: Generic ASRModel.restore_from")
model = nemo_asr.models.ASRModel.restore_from(MODEL_PATH, map_location=torch.device('cpu'))
print("Success Attempt 1")
except Exception as e:
print(f"Failed Attempt 1: {e}")
try:
print("\nAttempt 2: EncDecCTCModelBPE.restore_from with strict=False")
from nemo.collections.asr.models import EncDecCTCModelBPE
model = EncDecCTCModelBPE.restore_from(MODEL_PATH, map_location=torch.device('cpu'), strict=False)
print("Success Attempt 2")
except Exception as e:
print(f"Failed Attempt 2: {e}")
try:
print("\nAttempt 3: Manual config override")
from nemo.core.classes import ModelPT
from omegaconf import OmegaConf
# We try to extract and modify config
import tarfile
import tempfile
with tempfile.TemporaryDirectory() as tmpdir:
with tarfile.open(MODEL_PATH, 'r:gz') as tar:
tar.extract('model_config.yaml', path=tmpdir)
conf = OmegaConf.load(os.path.join(tmpdir, 'model_config.yaml'))
# Force remove training data config
if 'train_ds' in conf: del conf['train_ds']
if 'validation_ds' in conf: del conf['validation_ds']
# Re-instantiate from specific class if possible
# This is complex, but let's see if we can get past abstract method error
print("Config loaded and cleaned.")
except Exception as e:
print(f"Failed Attempt 3: {e}")
|