
    ~j}              	       f   S r SSKr\R                  R                  SS5        SSKrSSKJr  SSKJr	  \	R                  " 5         \R                  SS  V s/ s H  n \" U 5      PM     sn r\R                  " \R                  S   \R                  S9r\R#                  5         \R$                  " 5          \" \R&                  " \SS	 /5      S
S9r\R*                  S   r\R.                  S	   S   r\" \R&                  " \/5      S
S9r\R*                  S   r\R.                  S	   S   rSSS5        \R7                  5       R9                  S5      R;                  S5        \R7                  5       R9                  S5      R;                  S5        \R7                  5       R9                  S5      R;                  S5        \R7                  5       R9                  S5      R;                  S5        \" S\" \R?                  5       5      S\" \R?                  5       5      5        gs  sn f ! , (       d  f       N= f)a~  Reference forward of the Music3 global LM.

Imports Qwen3ForCausalLM from the reference project ../../transformers.
Dumps last-token logits and last hidden state for a fixed prompt: once for
the full prefill and once for prefill minus one plus one decode (same math).
Run from tests/ directory. All paths relative to CWD.

Usage:
    ./mm3-lm-ref.py <checkpoint_dir> <token_ids...>
    Nz../../transformers/src)Qwen3ForCausalLM)logging      )torch_dtypeT)	input_idsoutput_hidden_states)r   r   float32z parity/lm_ref_prefill_logits.binz parity/lm_ref_prefill_hidden.binzparity/lm_ref_decode_logits.binzparity/lm_ref_decode_hidden.binzprefill argmaxz| decode argmax) __doc__syspathinserttorchtransformersr   transformers.utilsr   
hf_loggingdisable_progress_barargvintidsfrom_pretrainedr   modelevalno_gradtensoroutlogitslogits_prefillhidden_stateshidden_prefilllogits_decodehidden_decodenumpyastypetofileprintargmax)xs   0mm3-lm-ref.py<module>r+      s  	  + ,  ) 4 
   !xx|$|!s1v|$((!%--P 


]]_
%,,CRz2
NCZZ&N&&r*51N
%,,u-D
ICJJu%M%%b)%0M       i ( / /0R S      i ( / /0R S      Y ' . ./P Q      Y ' . ./P Q N11346G]MaMaMcId e% % _s   H3A6H""
H0