
    hJJj                         d dl Z d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ ddlmZ ej                  fdedej                   d	ej"                  fd
Zy)    N)Path)snapshot_download)tree_unflatten   )whisperpath_or_hf_repodtypereturnc                   
 t        |       }|j                         st        t        |             }t        t	        |dz        d      5 }t        j                  |j                               }|j                  dd        |j                  dd       }d d d        t        j                  d
i }|dz  }|j                         s|dz  }t        j                  t	        |            
t        j                  ||      }
fd}	t        j                  |fi |d	|	i t!        t#        
j%                                     
|j'                  
       t        j(                  |j+                                |S # 1 sw Y   xY w)N)repo_idzconfig.jsonr
model_typequantizationzweights.safetensorszweights.npzc                 j    t        |t        j                  t        j                  f      xr |  dv S )Nz.scales)
isinstancennLinear	Embedding)pmweightss     a/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/mlx_whisper/load_models.py<lambda>zload_model.<locals>.<lambda>&   s1    A		2<<'@A )#W()    class_predicate )r   existsr   openstrjsonloadsreadpopr   ModelDimensionsmxloadWhisperr   quantizer   listitemsupdateeval
parameters)r   r	   
model_pathfconfigr   
model_argswfmodelr   r   s             @r   
load_modelr4      s9    o&J+ODE
	c*},-s	3qAFFH%

<&zz.$7 
4
 ((262J	+	+B99;-'ggc"gGOOJ.E) 	 	EK\K?KT'--/23G	LLGGEL1 
4	3s   
AE66E?)r    pathlibr   mlx.corecorer%   mlx.nnr   huggingface_hubr   	mlx.utilsr    r   float32r   Dtyper'   r4   r   r   r   <module>r>      sL        - $ 
 jj  88  __ r   