ó
    §ö�jE  ã                   óv  • S SK r S SKrS SKrS SKrS SKr\R                  R                  S \R                  R                  \	5      5        S SK
JrJrJrJr  \R                  R                  \R                  R                  \R                  R!                  \	5      5      S5      r\R                  R                  \S5      r\R                  R                  \R                  R                  \R                  R!                  \	5      5      S5      rSr\R*                  rSrSrS	\S
\4S jrS r\S:X  a  \" 5         gg)é    N)ÚHID_EXTÚJSON_EXTÚVAE_EXTÚ
load_codesz..ÚcheckpointsÚdatasetsÚcudai{P i   ÚcaptionÚlyricsc           	      ó8  • SSK Jn  UR                   UR                   UR	                  U5       UR
                   UR                   UR                  U5       UR                   UR                   UR                   3	nU " USS9S   R                  [        5      $ )Nr   )ÚencodersÚpt)Úreturn_tensorsÚ	input_ids)Ú*diffusers.modular_pipelines.minimax_music3r   Ú	_IM_STARTÚ_CAPTION_STARTÚ_clean_captionÚ_CAPTION_ENDÚ_LYRICS_STARTÚ_normalize_lyricsÚ_LYRICS_ENDÚ_IM_ENDÚ_AUDIO_STARTÚtoÚDEVICE)Ú	tokenizerr
   r   ÚencÚtexts        Útraining/dump-hiddens.pyÚ
prompt_idsr!   #   s–   € ÝJà�}‰}ˆo˜c×0Ñ0Ð1°#×2DÑ2DÀWÓ2MÐ1NÈs×O_ÑO_ÐN`Ø× Ñ Ð! #×"7Ñ"7¸Ó"?Ð!@ÀÇÁÐ@QÐRU×R]ÑR]ÐQ^Ð_b×_oÑ_oÐ^pðr€Dá�T¨$Ñ/°Ñ<×?Ñ?ÄÓGÐGó    c                  ó”	  • [         R                  R                  [        [        R
                  S   5      n [        S [         R                  " U 5       5       5      nU Vs/ s HO  n[         R                  R                  [         R                  R                  X[        -   5      5      (       a  MM  UPMQ     nn[        S[        U5       S[        U5      [        U5      -
   S3SS9  U(       d  g SS	KJnJn  SS
KJn  UR#                  [$        S-   5      nUR#                  [$        S-   [&        S9R)                  [*        5      nUR#                  [$        S-   [&        S9R)                  [*        5      n	UR-                  S5      R/                  5         UR1                  5       R2                  n
U	R4                  R2                  R7                  S[8        S5      n[;        U5       GH¬  u  pÍ[<        R>                  " [A        [         R                  R                  X[B        -   5      5      5      R)                  [*        5      nURD                  S   S-
  n[G        [         R                  R                  X[B        -   5      5       n[H        RJ                  " U5      nS S S 5        X®S S 2S4   [L        -      n[<        RN                  " [Q        S5       Vs/ s H  nUU   US S 2US-   4      PM     sn5      nUURS                  S5      -   S-  n[U        UWS   US   5      nURD                  S   n[<        RV                  " UR1                  5       " U5      US U RY                  S5      R)                  [&        5      /SS9n[<        RZ                  " 5          UR]                  US9R^                  SUUU-   24   nS S S 5        WRa                  5       Rc                  5       Re                  5       Rg                  [h        Rj                  5      n[h        Rl                  " U5      Ro                  5       (       d   eURq                  [         R                  R                  X[        -   5      5        US-   S-  S:X  d  GM�  [        SUS-    S[        U5       3SS9  GM¯     [        SSS9  g s  snf ! , (       d  f       GN= fs  snf ! , (       d  f       GN= f)Né   c              3   ó~   #   • U  H3  oR                  [        5      (       d  M  US [        [        5      *  v •  M5     g 7f)N)Úendswithr   Úlen)Ú.0Úfs     r    Ú	<genexpr>Úmain.<locals>.<genexpr>-   s,   é € ÐZÒ0B¨1ÇjÁjÔQX×FYÓ&�A�oœœW›˜Õ&Ò0Bùs   ‚=£=z[Dump] z tracks to dump, z skippedT)Úflushr   )ÚQwen2TokenizerÚQwen3ForCausalLM)ÚMiniMaxMusic3RVQDepthDecoderz
/tokenizerz/language_model)Útorch_dtypez/rvq_depth_decoderFé   éÿÿÿÿgÍ;fž @r
   r   )Údim)Úinputs_embedsé2   Ú/z[Done])9ÚosÚpathÚjoinÚDATASETSÚsysÚargvÚsortedÚlistdirÚexistsr   Úprintr'   Útransformersr-   r.   Ú>diffusers.models.transformers.minimax_music3_rvq_depth_decoderr/   Úfrom_pretrainedÚCKPTÚDTYPEr   r   Úrequires_grad_ÚevalÚget_input_embeddingsÚweightÚaudio_embeddingsÚviewÚAC_NÚ	enumerateÚtorchÚ
from_numpyr   r   ÚshapeÚopenÚjsonÚloadÚSEM_OFFÚstackÚrangeÚsumr!   ÚcatÚ	unsqueezeÚno_gradÚmodelÚlast_hidden_stateÚfloatÚcpuÚnumpyÚastypeÚnpÚfloat16ÚisfiniteÚallÚtofile)ÚcorpusÚbasesÚbÚtodor-   r.   r/   r   ÚlmÚdepthÚ	sem_tableÚac_tableÚiÚbaseÚcodesÚnr)   ÚreqÚsem_embÚkÚac_embÚfeedbackÚidsÚPÚembedsÚhs                             r    Úmainr{   +   s‘  € Ü�W‰W�\‰\œ(¤C§H¡H¨Q¡KÓ0€FÜÑZ´·
²
¸6Ô0BÓZÓZ€EÙÓXš�A¤b§g¡g§n¡n´R·W±W·\±\À&ÌgÉ+Ó5V×&W�a™€DÐXÜ	ˆG”C˜“I�;Ð/´°E³
¼SÀ»YÑ0FÐ/GÀxÐ
PÐX\Ò]ÞØç=Ýkà×.Ñ.¬t°lÑ/BÓC€IØ	×	)Ñ	)¬$Ð1BÑ*BÔPUÐ	)Ð	V×	YÑ	YÔZ`Ó	a€BØ(×8Ñ8¼Ð@TÑ9TÜEJð 9ð LßLNÉBÌvËJð 
à×Ñ�eÓ×!Ñ!Ô#Ø×'Ñ'Ó)×0Ñ0€IØ×&Ñ&×-Ñ-×2Ñ2°1´d¸BÓ?€Hä˜T—?‰ˆÜ× Ò ¤¬B¯G©G¯L©L¸ÌÁÓ,QÓ!RÓS×VÑVÔW]Ó^ˆØ�K‰K˜‰N˜QÑˆÜ”"—'‘'—,‘,˜v¬h¡Ó7Ô8¸AÜ—)’)˜A“,ˆC÷ 9à¢1 a 4™[¬7Ñ2Ñ3ˆÜ—;’;ÄeÈAÄhÓOÂhÀ ¨¡¨E²!°Q¸±U°(©OÔ <ÁhÑOÓPˆØ˜fŸj™j¨›mÑ+°
Ñ;ˆÜ˜ C¨	¡N°C¸±MÓBˆØ�i‰i˜‰lˆÜ—’˜B×3Ñ3Ô5°cÓ:¸HÀRÀa¸L×<RÑ<RÐSTÓ<U×<XÑ<XÔY^Ó<_Ð`ÐfgÑhˆÜ�]Š]�_Ø—‘ v�Ð.×@Ñ@ÀÀAÈÈAÉÀIÀÑNˆA÷ à�G‰G‹I�M‰M‹O×!Ñ!Ó#×*Ñ*¬2¯:©:Ó6ˆÜ�{Š{˜1‹~×!Ñ!×#Ñ#Ð#Ð#Ø	�‰”—‘—‘˜f¬W¡nÓ5Ô6Ø�‰E�R‰<˜1ÖÜ�G˜A ™E˜7 !¤C¨£I ;Ð/°tÕ<ñ# #ô$ 
ˆ(˜$ÓùòE Y÷& 9Ö8üò  P÷
 Ž_ús+   Á ARÂ0RÉ=R!ËR3
Î$R8Ò!
R0	Ò8
S	Ú__main__)rR   r7   r;   r_   ra   rN   r8   ÚinsertÚdirnameÚ__file__Údatasetr   r   r   r   r9   ÚabspathÚROOTrD   r:   r   Úbfloat16rE   rT   rL   Ústrr!   r{   Ú__name__© r"   r    Ú<module>r‡      só   ðó  Û 	Û 
ã Û à ‡�‡���2—7‘7—?‘? 8Ó,Ô -ß :Ó :à�7‰7�<‰<˜Ÿ™Ÿ™¨¯©¯©¸Ó(AÓBÀDÓI€Ø�7‰7�<‰<˜˜mÓ,€Ø�7‰7�<‰<˜Ÿ™Ÿ™¨¯©¯©¸Ó(AÓBÀJÓO€Ø€Ø�>‰>€Ø€Ø€ðH 3ð H°ô Hò% ðP ˆzÓÙ…Fð r"   