
    hb                         S SK JrJr  S SKrS SKJrJrJrJ	r	J
r
  S SKJr  \
" S5      \
" S5      S./r\ " S S5      5       rS	 r\S
:X  aD  \" \5      r\R%                  5       S    r\" \R(                  \R*                  \R,                  5        gg)    )	dataclassfieldN)DatasetFeaturesImageListValue)HfArgumentParserstring)contentrolec                   n    \ rS rSr% Sr\" SSS0S9r\\S'   \" SSS	0S9r	\
\S
'   \" SSS0S9r\\S'   Srg)ScriptArguments   a  
Arguments for the script.

Args:
    test_size (`float`, *optional*, defaults to `0.1`):
        Fraction of the dataset to include in the test split.
    push_to_hub (`bool`, *optional*, defaults to `False`):
        Whether to push the dataset to the Hugging Face Hub.
    repo_id (`str`, *optional*, defaults to `"trl-internal-testing/zen-image"`):
        Hugging Face repository ID to push the dataset to.
g?helpz5Fraction of the dataset to include in the test split.)defaultmetadata	test_sizeFz4Whether to push the dataset to the Hugging Face Hub.push_to_hubztrl-internal-testing/zen-imagez2Hugging Face repository ID to push the dataset to.repo_id N)__name__
__module____qualname____firstlineno____doc__r   r   float__annotations__r   boolr   str__static_attributes__r       \/home/james-whalen/.local/lib/python3.13/site-packages/scripts/generate_zen_image_dataset.pyr   r      sd    
 QRIu  PQK  0NOGS r"   r   c                 J   [         R                  R                  SSSS9nSSS.SS	S./SS
S.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SS S.SS!S./SS"S.SS#S./SS$S.SS%S./SS&S.SS'S./SS(S.SS)S./SS*S.SS+S./SS,S.SS-S.//U VVs/ s HD  u  pE[         R                  R                  S.S/XES04S19R	                  [         R
                  5      /PMF     snnS2.n[        R                  " U[        [        [        [        5       5      S29S39nUR                  U S4S59nU(       a  UR                  US6S79  [         R                  R                  SSSS9nSSS./SS
S./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SS S./SS"S./SS$S./SS&S./SS(S./SS*S./SS,S.//U VVs/ s HD  u  pE[         R                  R                  S.S/XES04S19R	                  [         R
                  5      /PMF     snnS8.n[        R                  " U[        [        [        [        5       5      S89S39nUR                  U S4S59nU(       a  UR                  US9S79  [         R                  R                  SSSS9nSSS./SS
S./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SS S./SS"S./SS$S./SS&S./SS(S./SS*S./SS,S.//SS	S./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SS!S./SS#S./SS%S./SS'S./SS)S./SS+S./SS-S.//U VVs/ s HD  u  pE[         R                  R                  S.S/XES04S19R	                  [         R
                  5      /PMF     snnS:.n[        R                  " U[        [        [        [        [        5       5      S:9S39n	U	R                  U S4S59n	U(       a  U	R                  US;S79  [         R                  R                  SSSS9nSSS./SS
S./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SS S./SS"S./SS$S./SS&S./SS(S./SS*S./SS,S.//SS	S./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SS!S./SS#S./SS%S./SS'S./SS)S./SS+S./SS-S.//SS<S./SS=S./SS>S./SS?S./SS@S./SSAS./SSBS./SSCS./SSDS./SSES./SSFS./SSGS./SSHS./SSIS./SSJS./SSKS./SSLS./SS)S./SSMS.//U VVs/ s HD  u  pE[         R                  R                  S.S/XES04S19R	                  [         R
                  5      /PMF     snnSN.n[        R                  " U[        [        [        [        [        [        5       5      SN9S39n
U
R                  U S4S59n
U(       a  U
R                  USOS79  [         R                  R                  SSSS9nSSS.SS	S./SS
S.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SSS.SSS./SS S.SS!S./SS"S.SS#S./SS$S.SS%S./SS&S.SS'S./SS(S.SS)S./SS*S.SS+S./SS,S.SS-S.//SSS.SS<S./SS
S.SS=S./SSS.SS>S./SSS.SS?S./SSS.SS@S./SSS.SSAS./SSS.SSBS./SSS.SSCS./SSS.SSDS./SSS.SSES./SSS.SSFS./SSS.SSGS./SS S.SSHS./SS"S.SSIS./SS$S.SSJS./SS&S.SSKS./SS(S.SSLS./SS*S.SS)S./SS,S.SSMS.//U VVs/ s HD  u  pE[         R                  R                  S.S/XES04S19R	                  [         R
                  5      /PMF     snnSP.n[        R                  " U[        [        [        [        [        5       5      SP9S39nUR                  U S4S59nU(       a  UR                  USQS79  [         R                  R                  SSSS9nSSS./SS
S./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SSS./SS S./SS"S./SS$S./SS&S./SS(S./SS*S./SS,S.//SS	S./SSS./SSS./SS?S./SSS./SSS./SSS./SSCS./SSS./SSES./SSS./SSGS./SS!S./SSIS./SSJS./SS'S./SS)S./SS+S./SS-S./// SRQU VVs/ s HD  u  pE[         R                  R                  S.S/XES04S19R	                  [         R
                  5      /PMF     snnSS.n[        R                  " U[        [        [        [        ST5      [        [        5       5      SS9S39nUR                  U S4S59nU(       a  UR                  USUS79  g g s  snnf s  snnf s  snnf s  snnf s  snnf s  snnf )VN    @   )      )sizeuserzWhat is better than ugly?)r   r   	assistantz
Beautiful.zWhat is better than implicit?z	Explicit.zWhat is better than complex?zSimple.z What is better than complicated?zComplex.zWhat is better than nested?zFlat.zWhat is better than dense?zSparse.zWhat counts?zReadability.z,Are special cases enough to break the rules?z;No, special cases aren't special enough to break the rules.zWhat beats purity?zPracticality.z What should never pass silently?zErrors.zWhen can errors pass silently?zWhen explicitly silenced.z,What should you do in the face of ambiguity?zRefuse the temptation to guess.z'How many ways should there be to do it?zOne, and preferably only one.z-For whom may the way not be obvious at first?zDutch.zWhat is better than never?zNow is better than never.z!Is never better than *right* now?zYes, often.z;What does it mean if the implementation is hard to explain?zIt means it's a bad idea.z;What does it mean if the implementation is easy to explain?zIt means it may be a good idea.zAny great ideas?z&Namespaces are one honking great idea.g        g     o@   )lowhighr)   )messagesimages)featuresF)r   shuffle conversational_language_modeling)config_name)promptr0   conversational_prompt_only)r5   
completionr0    conversational_prompt_completionzAcceptable.z
Explained.zVery complex.zVery complicated.z	Circular.zHeavy.zLooking complicated.z9Yes, special cases are special enough to break the rules.zNothing.z	Warnings.zNever.zGive up.zAs many as possible.zFrench.z	Some day.z
No, never.zIt means it's a good idea.z
Recursion.)r5   chosenrejectedr0   conversational_preference)r9   r:   r0   )conversational_implicit_prompt_preference)TTTFTTTFTFTFTFFTTTT)r5   r7   labelr0   r   "conversational_unpaired_preference)nprandomrandintuniformastypeuint8r   	from_dictr   Messager   r   train_test_splitr   r	   )r   r   r   sizeshwdata(conversational_language_modeling_dataset"conversational_prompt_only_dataset(conversational_prompt_completion_dataset!conversational_preference_dataset1conversational_implicit_prompt_preference_dataset*conversational_unpaired_preference_datasets                r#   mainrR   5   s{   IIb"73E )DEP[htGuw)HIT_lwKxy)GHS^ktJuv)KLWboyNz{)FGR]jqIrs)EFQ\irHst8;[i:jk)WXcn  |y  [z  {)=>ap@qr)KLWboxNyz)IJU`  nI  MJ  K)WXcn  |]  [^  _)RS^i  wV  VW  X)XYdo  }E  \F  G)EFQ\  jE  IF  G)LMXcp}O~)fgr}  Kf  jg  h)fgr}  Kl  jm  n);<{  `H  ?I  J'
* jooinaeabBII%%#Eq	%JQQRTRZRZ[\ino-D0 07/@/@PXbirvw|w~r  QA  0B,/W/h/hs|  GL/h  0M,0<<WRt<uIIb"73E )DEF)HIJ)GHI)KLM)FGH)EFG89)WXY)=>?)KLM)IJK)WXY)RST)XYZ)EFG)LMN)fgh)fgh);<='
* jooinaeabBII%%#Eq	%JQQRTRZRZ[\ino-D0 *1):):4(ZajnotovjwJx)y&)K)\)\gpz)\  *A&*66wLh6iIIb"73E )DEF)HIJ)GHI)KLM)FGH)EFG89)WXY)=>?)KLM)IJK)WXY)RST)XYZ)EFG)LMN)fgh)fgh);<='
, "l;<!k:;!i89!j9:!g67!i89!n=>!.klm!o>?!i89!.IJK!.OPQ!.MNO!h78!.IJK!m<=!.IJK!.OPQ!.VWX'
* jooinaeabBII%%#Eq	%JQQRTRZRZ[\inoW,DZ 07/@/@PX`gt{  EI  JO  JQ  ER  QS  0T,/W/h/hs|  GL/h  0M,0<<WRt<uIIb"73E )DEF)HIJ)GHI)KLM)FGH)EFG89)WXY)=>?)KLM)IJK)WXY)RST)XYZ)EFG)LMN)fgh)fgh);<='
, "l;<!k:;!i89!j9:!g67!i89!n=>!.klm!o>?!i89!.IJK!.OPQ!.MNO!h78!.IJK!m<=!.IJK!.OPQ!.VWX'
, "m<=!l;<!o>?!.ABC!k:;!h78!.DEF!.ijk!j9:!k:;!h78!j9:!.DEF!i89!k:;!l;<!.JKL!.IJK!l;<'
* jooinaeabBII%%#Eq	%JQQRTRZRZ[\inoAADD )0(9(9$Y`ip  |C  LP  QV  QX  LY  JZ  )[%(I(Z(Zenx}(Z(~%)55gKf5gIIb"73E )DEP[htGuv)HIT_lwKxy)GHS^ktJuv)KLWboyNz{)FGR]jqIrs)EFQ\irHst8;[i:jk)WXcn  |y  [z  {)=>ap@qr)KLWboxNyz)IJU`  nI  MJ  K)WXcn  |]  [^  _)RS^i  wV  VW  X)XYdo  }E  \F  G)EFQ\  jE  IF  G)LMXcp}O~)fgr}  Kf  jg  h)fgr}  Kl  jm  n);<{  `H  ?I  J'
, )DEP[huGvw)HIT_lxKyz)GHS^kzJ{|)KLWb  pC  OD  E)FGR]juIvw)EFQ\iqHrs8;[q:rs)WXcn  |w  [x  y)=>ak@lm)KLWbozN{|)IJU`muLvw)WXcn  |F  [G  H)RS^i  wM  VN  O)XYdo  }F  \G  H)EFQ\itHuv)LMXcp|O}~)fgr}  Kg  jh  i)fgr}  Kf  jg  h);<{_k>lm'
* jooinaeabBII%%#Eq	%JQQRTRZRZ[\inoW,DZ 9@8I8I$Yaip  |C  LP  QV  QX  LY  ZZ  9[58i8z8z  FO  Y^8z  9_59EEg  \GE  	HIIb"73E )DEF)HIJ)GHI)KLM)FGH)EFG89)WXY)=>?)KLM)IJK)WXY)RST)XYZ)EFG)LMN)fgh)fgh);<='
, "l;<!k:;!i89!.ABC!g67!i89!n=>!.ijk!o>?!k:;!.IJK!j9:!.MNO!i89!k:;!m<=!.IJK!.OPQ!.VWX'
* JinoinaeabBII%%#Eq	%JQQRTRZRZ[\inoY-D\ 291B1B4RZbiv}  FK  LR  FS  \`  af  ah  \i  Sj  2k.1[1l1l  xA  KP1l  2Q.2>>wTx>y I p< pf pP pf ph ps*   Ah?AhAh
 Ah0Ah
Ah__main__)dataclassesr   r   numpyr?   datasetsr   r   r   r   r	   transformersr
   rF   r   rR   r   parserparse_args_into_dataclassesscript_argsr   r   r   r   r"   r#   <module>r[      s    )  : : ) Xh@
A   6^zD	 zo.F446q9K		 7 79L9LM r"   