+
    ˜°³j4¬ ã                   óŽ  a € Rº tž0 t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHu Ht ^ RIHt ^ RIHt ^ R	IHtHtHtHtHtHtH t H!t!H"t" ^ R
I#H$t$H%t% ^ RI&H't'H(t( ^ RI)H*t* ^ RI+H,t, ^ RI-t^ RI.H/t/ ^ RI0H1t1 ^ RI0H2t2 ]Pf                  t3Rt4R t5R t6]7! RR»RR¼R R]"'       d   RMR]Pp                  R7      ]7! RR½RR¼RR R]"'       d   RMR]Pp                  R7	      ]7! R R¾R]Pp                  R!7      ]7! R R¿R"RÀR#R]Pp                  R$7      ]7! R%RÁR& ]Pp                  R'7      ]7! R(RÂR)RÃRR]Pp                  R*7      .t9R+ t:R, t;R- t<R. t=R/ t>R0 t?R1 t@R2 tAR3 tBR4 tCR5 tDR6 tER7 tFR8 tGR9 tHR: tIR; tJR< tKR= tLR> tMR? tNR@ tORA tPRB tQRC tRRD tSRE tTRF tURG tVRH tWRI tXRJ tYRK tZRL t[RM t\RN t]RO t^RP t_RQ t`RR taRS tbRT tcRU tdRV teRW tfRX tgRY thRZ tiR[ tjR\ tkR] tlR^ tmR_ tnR` toRÄRa ltpRÅRb ltqRÆRc ltrRÇRd ltsRÇRe lttRÈRf ltuRÅRg ltvRÉRh ltwRÉRi ltxRj tyRÊRk ltzRËRl lt{RÊRm lt|Rn t}RÌRo lt~RÍRp ltRÎRq lt€RÍRr lt�RÍRs lt‚/ Rt]pbRu]	! ]pRRv7      bRw]vbRx]qbRy]wbRz]xbR{]zbR|]{bR}]|bR~]~bR]bR€]€bR�]�bR‚]‚bRƒ]tbR„]ubtƒ] ^ k . t„R… t…. RÏOt†. RÐOt‡]! ]†]‡4       F;  w  tˆt‰]7! ]ˆ R†]‰ 2R‡]ˆ/Rˆ lRÑRÑ]…R]Pp                  R‰7      tŠ]„EP                  ]Š4       K=  	  ]‡ F4  t‰]7! RŠ]‰ 2R‹ RŒ R� ]…R]Pp                  RŽ7      tŠ]„EP                  ]Š4       K6  	  R�R� R‘ 3R’R“ R” 3R|R• R– 3R{R— R˜ 3R}R™ Rš 3RwR› Rœ 3RR� Rž 3R�RŸ R  3R€R¡ R¢ 3R£R¤ R¥ 3.
tŒR{R¦R//t�] ^k R�RR’RR|RRwRR}R/tŽ. RÐOt‡]! ]Œ]‡4       Fs  w  w  tˆt�t�t‰]7! ]ˆ R†]‰ 2R‡]ˆ/R§ l]�3R¨ l]�3R© l]…R]ŽEP#                  ]ˆR4      Rª7      t’]�EP#                  ]ˆ/ 4      t“]’EP)                  ]“4       ]„EP                  ]’4       Ku  	   ! R« R¬]4      t• ! R­ R®4      t– ! R¯ R°]–4      t— ! R± R²4      t˜ ! R³ R´]˜]—4      t™ ! Rµ R¶]˜]–4      tšRÒR· lt›RÓR¸ ltœR¹ t�R# )Ôé    )ÚabstractmethodN)Údeepcopy)ÚreduceÚpartial)Úproduct)Úmul)Ú
_reduction)Úcommon_utils)	ÚTestCaseÚto_gpuÚfreeze_rng_stateÚis_iterableÚ	gradcheckÚgradgradcheckÚset_default_dtypeÚskipIfTorchDynamoÚTEST_WITH_ROCM)Ú	TEST_CUDAÚSM90OrLater)Ú_get_numerical_jacobianÚ_iter_tensors)ÚVariable©Ú_TensorOrTensors)ÚAny)ÚCallable)ÚSequenceçñhãˆµøä>c                 óŽ   € \        V R R4      pVf%   \        P                  ! \        V RR4      RRR7      pVf   \        R4      hV# )Ú	reductionNÚsizeAverageTF)Úemit_warningzExpected result to not be None)ÚgetattrÚ
_ReductionÚlegacy_get_stringÚAssertionError©ÚmÚresults   & Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/testing/_internal/common_nn.pyÚget_reductionr+   #   sI   € Ü�Q˜ TÓ*€FØ‚~Ü×-Ò-¬g°a¸ÈÓ.MÈtÐbgÔhˆØ‚~ÜÐ=Ó>Ð>Ø€Mó    c                 óB   € \        V R R4      pVe   V# \        V RR4      # )ÚweightNÚweights)r#   r'   s   & r*   Ú
get_weightr0   ,   s*   € Ü�Q˜ $Ó'€FØÒØˆÜ�1�i Ó&Ð&r,   ÚLinearztorch::nn::LinearOptions(10, 8)c                 ó´   € \         P                  ! W^ ,          P                  4       4      V^,          P                  ^R4      P	                  ^^4      ,           # )r   éÿÿÿÿ)ÚtorchÚmmÚtÚviewÚexpand©ÚiÚpÚ_s   &&&r*   Ú<lambda>r=   o   s:   € ¤U§X¢X¨a°1µ·±³Ó%:¸Q¸q½T¿Y¹YÀqÈ"Ó=M×=TÑ=TÐUVÐXYÓ=ZÖ%Zr,   Tç{®Gáz„?ç{®Gázt?)Úmodule_nameÚconstructor_argsÚcpp_constructor_argsÚ
input_sizeÚreference_fnÚ	with_tf32Útf32_precisionÚdefault_dtypeFz+torch::nn::LinearOptions(10, 8).bias(false)Úno_biasc                 óX   € \         P                  ! W^ ,          P                  4       4      # ©r   )r4   r5   r6   r9   s   &&&r*   r=   r=   |   s   € ¤U§X¢X¨a°1µ·±³Ô%:r,   )	r@   rA   rB   rC   ÚdescrD   rE   rF   rG   ÚRReLU)r@   rC   Ú	test_cudarG   ú/torch::nn::RReLUOptions().lower(0.1).upper(0.9)Úwith_up_down©r@   rA   rB   rC   rK   rM   rG   ÚFlattenc                 ó0   € \         P                  ! V ^4      # ©é   )r4   Úflatten)r:   r<   s   &*r*   r=   r=   –   s   € ¤5§=¢=°°AÔ#6r,   )r@   rC   rD   rG   ÚCrossMapLRN2dz>torch::nn::CrossMapLRN2dOptions(5).alpha(5e-3).beta(1e-3).k(2))r@   rA   rB   rC   Úcheck_gradgradÚcheck_batched_gradrG   c                  óˆ   € \        \        V ^4      p\        P                  ! V4      P                  ! V !  P                  4       # rS   )r   r   r4   Úrandpermr7   Údouble)ÚsizeÚtotals   * r*   Ú_rand_tensor_non_equalr^   ª   s3   € Ü”3˜˜aÓ €EÜ�>Š>˜%Ó ×%Ò% tÑ,×3Ñ3Ó5Ð5r,   c                 óD   a a€  ! V V3R  lR\         P                  4      pV# )c                   ó0   <a € ] tR t^°t o VV3R ltRtV tR# )Ú)wrap_functional.<locals>.FunctionalModulec                ó   <€ S! V/ SB # ©N© )ÚselfÚargsÚfnÚkwargss   &*€€r*   ÚforwardÚ1wrap_functional.<locals>.FunctionalModule.forward±   s   ø€ Ù�tÐ&˜vÑ&Ð&r,   rd   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ri   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__rg   rh   s   @€€r*   ÚFunctionalModulera   °   s   ù‡ € ÷	'ô 	'r,   rr   ©ÚnnÚModule)rg   rh   rr   s   fl r*   Úwrap_functionalrv   ¯   s    ù€ ÷'ð 'œ2Ÿ9™9ô 'ð Ðr,   c                  ó    a € \         P                  ! ^
^
4      o \        R\        V 3R l4      RR RRRS /V 3R lR	\         P                  R
7      # )é
   ÚPoissonNLLLoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # ©Únone©r    )ÚFÚpoisson_nll_lossÚtype_as©r:   r6   s   &€r*   r=   Ú/poissonnllloss_no_reduce_test.<locals>.<lambda>»   ó   ø€ ”a×(Ò(¨¨A¯I©I°a«LÀFÕKr,   zaF::poisson_nll_loss(i, t.to(i.options()), F::PoissonNLLLossFuncOptions().reduction(torch::kNone))c                  ó0   € \         P                  ! ^
^
4      # ©rx   ©r4   Úrandrd   r,   r*   r=   r‚   ¾   s   € œŸš B¨Ô+r,   r:   ú_get_input()r6   c                 óP   <€ V P                  4       SP                  V 4      ,
          # rc   )Úexpr   ©r:   r<   r6   s   &*€r*   r=   r‚   À   s   ø€  1§5¡5£7¨Q¯U©U°1«XÖ#5r,   F©ÚfullnameÚconstructorÚcpp_function_callÚinput_fnÚcpp_var_maprD   ÚpicklerG   ©r4   ÚrandnÚdictrv   r[   ©r6   s   @r*   Úpoissonnllloss_no_reduce_testr—   ¶   sQ   ø€ Ü�Š�B˜Ó€AÜØ+Ü#ÜKóMðjá+Ø˜.¨#¨qÐ1Ü5ØÜ—l‘lô
$ð 
$r,   c                  ó  a € \        \        P                  ! ^^
4      P                  ^ 4      P	                  \        P
                  4      4      o \        R\        V 3R l4      RR RRRS /V 3R lR	R
\        P
                  R7	      # )é   ÚBCELoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úbinary_cross_entropyr€   r�   s   &€r*   r=   Ú(bceloss_no_reduce_test.<locals>.<lambda>Ê   ó   ø€ ”a×,Ò,¨Q°·	±	¸!³ÈÕOr,   úiF::binary_cross_entropy(i, t.to(i.options()), F::BinaryCrossEntropyFuncOptions().reduction(torch::kNone))c                  óP   € \         P                  ! ^^
4      P                  RR4      # ©r™   çyé&1¬œ?ç´Èv¾Ÿï?©r4   r‡   Úclamp_rd   r,   r*   r=   rž   Í   ó   € œŸš B¨Ó+×2Ñ2°6¸:ÔFr,   r:   rˆ   r6   c                 óˆ   <€ SV P                  4       ,          ^S,
          ^V ,
          P                  4       ,          ,           ) # rS   ©Úlogr‹   s   &*€r*   r=   rž   Ï   ó*   ø€  Q¨¯©«¥[°A¸µE¸aÀ!½e¿[¹[»]Õ3JÕ%JÑ#Kr,   FgÇº¸�ðF?©	r�   rŽ   r�   r�   r‘   rD   r’   Ú	precisionrG   )r   r4   r”   ÚgtÚtor[   r•   rv   r–   s   @r*   Úbceloss_no_reduce_testr°   Å   ss   ø€ Ü”—’˜R Ó$×'Ñ'¨Ó*×-Ñ-¬e¯l©lÓ;Ó<€AÜØ$Ü#ÜOóQðnáFØ˜.¨#¨qÐ1ÜKØØÜ—l‘lô$ð $r,   c                  óö   a € \         P                  ! R4      P                  ^ 4      P                  \         P                  4      o \        R\        V 3R l4      RR RRRS /V 3R lR	\         P                  R
7      # )r   ÚBCELoss_no_reduce_scalarc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rœ   r�   s   &€r*   r=   Ú/bceloss_no_reduce_scalar_test.<locals>.<lambda>Ú   rŸ   r,   r    c                  óN   € \         P                  ! R4      P                  R R4      # ©r£   rd   r¤   r¥   rd   r,   r*   r=   r´   Ý   ó   € œŸš B›×.Ñ.¨v°zÔBr,   r:   rˆ   r6   c                 óˆ   <€ SV P                  4       ,          ^S,
          ^V ,
          P                  4       ,          ,           ) # rS   r©   r‹   s   &*€r*   r=   r´   ß   r«   r,   FrŒ   rd   )r4   r”   r®   r¯   r[   r•   rv   r–   s   @r*   Úbceloss_no_reduce_scalar_testr¹   Õ   sh   ø€ Ü�Š�B‹×Ñ˜1Ó× Ñ ¤§¡Ó.€AÜØ+Ü#ÜOóQðnáBØ˜.¨#¨qÐ1ÜKØÜ—l‘lô
$ð 
$r,   c                  ó‚  a a€ \        \        P                  ! ^^
\        P                  R7      P	                  ^ 4      P                  \        P                  4      4      o \        P                  ! ^
\        P                  R7      o\        R\        V V3R l4      RR RRRS R	S/V V3R
 lRR\        P                  R7	      # )r™   ©ÚdtypeÚBCELoss_weights_no_reducec                 ót   <€ \         P                  ! V SP                  V 4      SP                  V 4      R R7      # ©r|   ©r.   r    rœ   ©r:   r6   r/   s   &€€r*   r=   Ú0bceloss_weights_no_reduce_test.<locals>.<lambda>ê   ó,   ø€ ”a×,Ò,¨Q°·	±	¸!³Ø4;·O±OÀAÓ4FÐRXõZr,   z‰F::binary_cross_entropy(i, t.to(i.options()), F::BinaryCrossEntropyFuncOptions().weight(weights.to(i.options())).reduction(torch::kNone))c                  óP   € \         P                  ! ^^
4      P                  RR4      # r¢   r¥   rd   r,   r*   r=   rÂ   ï   r§   r,   r:   rˆ   r6   r/   c                 ó–   <€ SV P                  4       ,          ^S,
          ^V ,
          P                  4       ,          ,           ) S,          # rS   r©   )r:   r;   r(   r6   r/   s   &&&€€r*   r=   rÂ   ñ   s0   ø€  q¨1¯5©5«7¥{°a¸!µeÀÀAÅ¿{¹{»}Õ5LÕ'LÐ%MÐPWÖ%Wr,   Fça2U0*©3?r¬   )	r   r4   r”   r[   r®   r¯   r‡   r•   rv   ©r6   r/   s   @@r*   Úbceloss_weights_no_reduce_testrÈ   ä   s—   ù€ Ü”—’˜R ¬5¯<©<Ô8×;Ñ;¸AÓ>×AÑAÄ%Ç,Á,ÓOÓP€AÜ�jŠj˜¤5§<¡<Ô0€GÜØ,Ü#õZó[ðxñ GØ˜.¨#¨q°)¸WÐEÝWØØÜ—l‘lôð r,   c                  óL  a a€ \         P                  ! R4      P                  ^ 4      P                  \         P                  4      o \         P
                  ! R\         P                  R7      o\        R\        V V3R l4      RRRRS RS/R	 V V3R
 lR\         P                  R7      # )r   r»   Ú BCELoss_weights_no_reduce_scalarc                 ót   <€ \         P                  ! V SP                  V 4      SP                  V 4      R R7      # r¿   rœ   rÁ   s   &€€r*   r=   Ú7bceloss_weights_no_reduce_scalar_test.<locals>.<lambda>þ   rÃ   r,   z¢F::binary_cross_entropy(
            i, t.to(i.options()),
            F::BinaryCrossEntropyFuncOptions().weight(weights.to(i.options())).reduction(torch::kNone))r:   rˆ   r6   r/   c                  óN   € \         P                  ! R4      P                  R R4      # r¶   r¥   rd   r,   r*   r=   rÌ     r·   r,   c                 ó–   <€ SV P                  4       ,          ^S,
          ^V ,
          P                  4       ,          ,           ) S,          # rS   r©   ©r:   r<   r6   r/   s   &*€€r*   r=   rÌ     s/   ø€  Q¨¯©«¥[°A¸µE¸aÀ!½e¿[¹[»]Õ3JÕ%JÐ#KÈgÖ#Ur,   F)r�   rŽ   r�   r‘   r�   rD   r’   rG   rd   )r4   r”   r®   r¯   r[   r‡   r•   rv   rÇ   s   @@r*   Ú%bceloss_weights_no_reduce_scalar_testrÐ   ø   s…   ù€ Ü�Š�B‹×Ñ˜1Ó× Ñ ¤§¡Ó.€AÜ�jŠj˜¤5§<¡<Ô0€GÜØ3Ü#õZó[ðkð ˜.¨#¨q°)¸WÐEÙBÝUØÜ—l‘lôð r,   c                  ó:  a a€ \        \        P                  ! ^^
4      P                  ^ 4      P	                  \        P
                  4      4      o\        P                  ! 4       o \        R\        V3R l4      RR RRRS/V V3R lR	R	\        P
                  R
7	      # )r™   ÚBCEWithLogitsLoss_legacy_enumc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # )F)r   ©r~   Ú binary_cross_entropy_with_logitsr€   r�   s   &€r*   r=   Ú4bce_with_logistic_legacy_enum_test.<locals>.<lambda>  s   ø€ ”a×8Ò8¸¸A¿I¹IÀa»LÐQVÕWr,   úŒF::binary_cross_entropy_with_logits(
            i, t.to(i.options()), F::BinaryCrossEntropyWithLogitsFuncOptions().reduction(torch::kNone))c                  óP   € \         P                  ! ^^
4      P                  RR4      # r¢   r¥   rd   r,   r*   r=   rÖ     r§   r,   r:   rˆ   r6   c                 ó    <€ SS! V 4      P                  4       ,          ^S,
          ^S! V 4      ,
          P                  4       ,          ,           ) # rS   r©   ©r:   r<   Úsigmoidr6   s   &*€€r*   r=   rÖ     ó8   ø€  Q©°«¯©Ó)9Õ%9¸QÀ½UÀqÉ7ÐSTË:Å~×FZÑFZÓF\Õ<\Õ%\Ñ#]r,   F©	r�   rŽ   r�   r�   r‘   rD   rW   r’   rG   ©
r   r4   r”   r®   r¯   r[   rt   ÚSigmoidr•   rv   ©rÛ   r6   s   @@r*   Ú"bce_with_logistic_legacy_enum_testrá     s~   ù€ Ü”—’˜R Ó$×'Ñ'¨Ó*×-Ñ-¬e¯l©lÓ;Ó<€AÜ�jŠj‹l€GÜØ0Ü#ÜWóYðkáFØ˜.¨#¨qÐ1Ý]ØØÜ—l‘lôð r,   c                  ó:  a a€ \        \        P                  ! ^^
4      P                  ^ 4      P	                  \        P
                  4      4      o\        P                  ! 4       o \        R\        V3R l4      RR RRRS/V V3R lR	R	\        P
                  R
7	      # )r™   ÚBCEWithLogitsLoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rÔ   r�   s   &€r*   r=   Ú2bce_with_logistic_no_reduce_test.<locals>.<lambda>#  ó   ø€ ”a×8Ò8¸¸A¿I¹IÀa»LÐTZÕ[r,   r×   c                  óP   € \         P                  ! ^^
4      P                  RR4      # r¢   r¥   rd   r,   r*   r=   rå   &  r§   r,   r:   rˆ   r6   c                 ó    <€ SS! V 4      P                  4       ,          ^S,
          ^S! V 4      ,
          P                  4       ,          ,           ) # rS   r©   rÚ   s   &*€€r*   r=   rå   (  rÜ   r,   FrÝ   rÞ   rà   s   @@r*   Ú bce_with_logistic_no_reduce_testré     s~   ù€ Ü”—’˜R Ó$×'Ñ'¨Ó*×-Ñ-¬e¯l©lÓ;Ó<€AÜ�jŠj‹l€GÜØ.Ü#Ü[ó]ðkáFØ˜.¨#¨qÐ1Ý]ØØÜ—l‘lôð r,   c                  ó&  a a€ \         P                  ! R4      P                  ^ 4      P                  \         P                  4      o\
        P                  ! 4       o \        R\        V3R l4      RR RRRS/V V3R lR	R	\         P                  R
7	      # )r   Ú"BCEWithLogitsLoss_no_reduce_scalarc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rÔ   r�   s   &€r*   r=   Ú9bce_with_logistic_no_reduce_scalar_test.<locals>.<lambda>5  ræ   r,   r×   c                  óN   € \         P                  ! R4      P                  R R4      # r¶   r¥   rd   r,   r*   r=   rí   8  r·   r,   r:   rˆ   r6   c                 ó    <€ SS! V 4      P                  4       ,          ^S,
          ^S! V 4      ,
          P                  4       ,          ,           ) # rS   r©   rÚ   s   &*€€r*   r=   rí   :  rÜ   r,   FrÝ   rd   )	r4   r”   r®   r¯   r[   rt   rß   r•   rv   rà   s   @@r*   Ú'bce_with_logistic_no_reduce_scalar_testrð   /  sv   ù€ Ü�Š�B‹×Ñ˜1Ó× Ñ ¤§¡Ó.€AÜ�jŠj‹l€GÜØ5Ü#Ü[ó]ðkáBØ˜.¨#¨qÐ1Ý]ØØÜ—l‘lôð r,   c                  óÂ   a € \         P                  ! ^
^
\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )rx   r»   ÚKLDivLoss_with_target_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úkl_divr€   r�   s   &€r*   r=   Ú6kldivloss_with_target_no_reduce_test.<locals>.<lambda>F  ó   ø€ ”a—h’h˜q !§)¡)¨A£,¸&ÕAr,   úNF::kl_div(i, t.to(i.options()), F::KLDivFuncOptions().reduction(torch::kNone))c                  óL   € \         P                  ! ^
^
4      P                  4       # r…   ©r4   r‡   rª   rd   r,   r*   r=   rö   H  ó   € œŸš B¨Ó+×/Ñ/Ô1r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # ©Ú	KLDivLossr|   r}   ©Úloss_reference_fnsr€   r‹   s   &*€r*   r=   rö   J  ó   ø€ Ü˜{Ö+¨A¨q¯y©y¸«|ÀvÕNr,   TF©	r�   rŽ   r�   r�   r‘   rD   Úsupports_forward_adr’   rG   ©r4   r‡   r[   r•   rv   r–   s   @r*   Ú$kldivloss_with_target_no_reduce_testr  A  sZ   ø€ Ü�
Š
�2�r¤§¡Ô.€AÜØ2Ü#ÜAóCàjÙ1Ø˜.¨#¨qÐ1ôOà ØÜ—l‘lô$ð $r,   c                  óÂ   a € \         P                  ! ^
^
\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )rx   r»   ÚKLDivLoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rô   r�   s   &€r*   r=   Ú*kldivloss_no_reduce_test.<locals>.<lambda>V  r÷   r,   rø   c                  óL   € \         P                  ! ^
^
4      P                  4       # r…   rú   rd   r,   r*   r=   r	  X  rû   r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # rý   rÿ   r‹   s   &*€r*   r=   r	  Z  r  r,   TFr  r  r–   s   @r*   Úkldivloss_no_reduce_testr  Q  sZ   ø€ Ü�
Š
�2�r¤§¡Ô.€AÜØ&Ü#ÜAóCàjÙ1Ø˜.¨#¨qÐ1ôOà ØÜ—l‘lôð r,   c                  óÀ   a € \         P                  ! R\         P                  R 7      o \        R\	        V 3R l4      RR RRRS /V 3R lR	R
\         P                  R7	      # )r»   ÚKLDivLoss_no_reduce_scalarc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rô   r�   s   &€r*   r=   Ú1kldivloss_no_reduce_scalar_test.<locals>.<lambda>g  r÷   r,   rø   c                  óJ   € \         P                  ! R4      P                  4       # ©Nrd   rú   rd   r,   r*   r=   r  i  ó   € œŸš B›×+Ñ+Ô-r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # rý   rÿ   r‹   s   &*€r*   r=   r  k  r  r,   TFr  rd   r  r–   s   @r*   Úkldivloss_no_reduce_scalar_testr  b  sX   ø€ Ü�
Š
�2œUŸ\™\Ô*€AÜØ-Ü#ÜAóCàjÙ-Ø˜.¨#¨qÐ1ôOà ØÜ—l‘lô$ð $r,   c                  óÞ   a € \         P                  ! ^
^
\         P                  R7      P                  4       o \	        R\        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )rx   r»   Ú#KLDivLoss_with_log_target_no_reducec                 óV   <€ \         P                  ! V SP                  V 4      R RR7      # ©r|   T)r    Ú
log_targetrô   r�   s   &€r*   r=   Ú:kldivloss_with_log_target_no_reduce_test.<locals>.<lambda>w  ó   ø€ ”a—h’h˜q !§)¡)¨A£,¸&ÈTÕRr,   ú_F::kl_div(i, t.to(i.options()), F::KLDivFuncOptions().reduction(torch::kNone).log_target(true))c                  óL   € \         P                  ! ^
^
4      P                  4       # r…   rú   rd   r,   r*   r=   r  y  rû   r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # ©ÚKLDivLoss_log_targetr|   r}   rÿ   r‹   s   &*€r*   r=   r  {  ó   ø€ ÜÐ5Ö6°q¸!¿)¹)ÀA»,ÐRXÕYr,   TFr  ©r4   r‡   r[   rª   r•   rv   r–   s   @r*   Ú(kldivloss_with_log_target_no_reduce_testr$  r  sc   ø€ Ü�
Š
�2�r¤§¡Ô.×2Ñ2Ó4€AÜØ6Ü#ÜRóTà{Ù1Ø˜.¨#¨qÐ1ôZà ØÜ—l‘lô$ð $r,   c                  óÞ   a € \         P                  ! ^
^
\         P                  R7      P                  4       o \	        R\        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )rx   r»   ÚKLDivLoss_no_reduce_log_targetc                 óV   <€ \         P                  ! V SP                  V 4      R RR7      # r  rô   r�   s   &€r*   r=   Ú5kldivloss_no_reduce_log_target_test.<locals>.<lambda>‡  r  r,   r  c                  óL   € \         P                  ! ^
^
4      P                  4       # r…   rú   rd   r,   r*   r=   r(  ‰  rû   r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # r   rÿ   r‹   s   &*€r*   r=   r(  ‹  r"  r,   TFr  r#  r–   s   @r*   Ú#kldivloss_no_reduce_log_target_testr+  ‚  sc   ø€ Ü�
Š
�2�r¤§¡Ô.×2Ñ2Ó4€AÜØ1Ü#ÜRóTà{Ù1Ø˜.¨#¨qÐ1ôZà ØÜ—l‘lôð r,   c                  óÜ   a € \         P                  ! R\         P                  R 7      P                  4       o \	        R\        V 3R l4      RR RRRS /V 3R lR	R
\         P                  R7	      # )r»   Ú%KLDivLoss_no_reduce_scalar_log_targetc                 óV   <€ \         P                  ! V SP                  V 4      R RR7      # r  rô   r�   s   &€r*   r=   Ú<kldivloss_no_reduce_scalar_log_target_test.<locals>.<lambda>˜  r  r,   r  c                  óJ   € \         P                  ! R4      P                  4       # r  rú   rd   r,   r*   r=   r/  š  r  r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # r   rÿ   r‹   s   &*€r*   r=   r/  œ  r"  r,   TFr  rd   r#  r–   s   @r*   Ú*kldivloss_no_reduce_scalar_log_target_testr2  “  sa   ø€ Ü�
Š
�2œUŸ\™\Ô*×.Ñ.Ó0€AÜØ8Ü#ÜRóTà{Ù-Ø˜.¨#¨qÐ1ôZà ØÜ—l‘lô$ð $r,   c                  óÄ   a € \         P                  ! ^^^\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )é   r»   ÚL1Loss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úl1_lossr€   r�   s   &€r*   r=   Ú'l1loss_no_reduce_test.<locals>.<lambda>¨  ó   ø€ ”a—i’i  1§9¡9¨Q£<¸6ÕBr,   úPF::l1_loss(i, t.to(i.options()), F::L1LossFuncOptions().reduction(torch::kNone))c                  ó2   € \         P                  ! ^^^4      # ©r4  ©r4   r”   rd   r,   r*   r=   r9  ª  ó   € œŸš Q¨¨1Ô-r,   r:   rˆ   r6   c                 óP   <€ V SP                  V 4      ,
          P                  4       # rc   ©r€   Úabsr‹   s   &*€r*   r=   r9  ¬  ó   ø€  A¨¯	©	°!«Õ$4×#9Ñ#9Ô#;r,   TFr  ©r4   r”   r[   r•   rv   r–   s   @r*   Úl1loss_no_reduce_testrE  £  sY   ø€ Ü�Š�A�q˜!¤5§<¡<Ô0€AÜØ#Ü#ÜBóDàlÙ-Ø˜.¨#¨qÐ1Ü;Ø ØÜ—l‘lô
$ð 
$r,   c                  ó¦   a € \         P                  ! ^^^\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
RR7      # )r4  r»   ÚL1Loss_no_reduce_complexc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   r7  r�   s   &€r*   r=   Ú/l1loss_no_reduce_complex_test.<locals>.<lambda>·  r:  r,   r;  c                  óR   € \         P                  ! ^^^\         P                  R7      # ©r4  r»   )r4   r”   Úcdoublerd   r,   r*   r=   rI  ¹  s   € œŸš Q¨¨1´E·M±MÕBr,   r:   rˆ   r6   c                 óP   <€ V SP                  V 4      ,
          P                  4       # rc   rA  r‹   s   &*€r*   r=   rI  »  rC  r,   TF)r�   rŽ   r�   r�   r‘   rD   r  r’   )r4   r”   rL  r•   rv   r–   s   @r*   Úl1loss_no_reduce_complex_testrN  ²  sR   ø€ Ü�Š�A�q˜!¤5§=¡=Ô1€AÜØ+Ü#ÜBóDàlÙBØ˜.¨#¨qÐ1Ü;Ø Øô	ð 	r,   c                  óÀ   a € \         P                  ! R\         P                  R 7      o \        R\	        V 3R l4      RR RRRS /V 3R lR	R
\         P                  R7	      # )r»   ÚL1Loss_no_reduce_scalarc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   r7  r�   s   &€r*   r=   Ú.l1loss_no_reduce_scalar_test.<locals>.<lambda>Å  r:  r,   r;  c                  ó.   € \         P                  ! R4      # r  r>  rd   r,   r*   r=   rR  Ç  ó   € œŸš Rœr,   r:   rˆ   r6   c                 óP   <€ V SP                  V 4      ,
          P                  4       # rc   rA  r‹   s   &*€r*   r=   rR  É  rC  r,   TFr  rd   rD  r–   s   @r*   Úl1loss_no_reduce_scalar_testrV  À  sU   ø€ Ü�Š�BœeŸl™lÔ+€AÜØ*Ü#ÜBóDàlÙ(Ø˜.¨#¨qÐ1Ü;Ø ØÜ—l‘lô
$ð 
$r,   c                  ó¾   a€ Rp \         P                  ! V R\         P                  / o\        R\	        V3R l4      RV RRRS/V3R lR	R
\         P                  R7	      # )r4  r¼   ÚMSELoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úmse_lossr€   ©r:   Útargets   &€r*   r=   Ú(mseloss_no_reduce_test.<locals>.<lambda>Õ  ó   ø€ ”a—j’j  F§N¡N°1Ó$5ÀÕHr,   úWF::mse_loss(i, target.to(i.options()), F::MSELossFuncOptions().reduction(torch::kNone))r:   rˆ   r]  c                 ó4   <€ V S,
          P                  ^4      # r=  ©Úpow©r:   r<   r]  s   &*€r*   r=   r^  Ù  ó   ø€  A¨¥J×#3Ñ#3°AÔ#6r,   TF©	r�   rŽ   r�   rC   r‘   rD   r  r’   rG   ©r4  é   é   é   rD  ©rC   r]  s    @r*   Úmseloss_no_reduce_testrl  Ï  s]   ø€ Ø€JÜ�[Š[˜*Ð9¬E¯L©LÑ9€FÜØ$Ü#ÜHóJàsØØ˜.¨(°FÐ;Ü6Ø ØÜ—l‘lô
$ð 
$r,   c                  óÂ   a€ Rp \         P                  ! V \         P                  R 7      o\        R\	        V3R l4      RV RRRS/V3R lRR	\         P                  R
7	      # )r»   ÚMSELoss_no_reduce_scalarc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rZ  r\  s   &€r*   r=   Ú/mseloss_no_reduce_scalar_test.<locals>.<lambda>å  r_  r,   r`  r:   rˆ   r]  c                 ó4   <€ V S,
          P                  ^4      # r=  rb  rd  s   &*€r*   r=   rp  é  re  r,   TFrf  rd   rD  rk  s    @r*   Úmseloss_no_reduce_scalar_testrr  ß  sZ   ø€ Ø€JÜ�[Š[˜¬5¯<©<Ô8€FÜØ+Ü#ÜHóJàsØØ˜.¨(°FÐ;Ü6Ø ØÜ—l‘lô
$ð 
$r,   c                  ó0  a a€ \        \        P                  ! ^4      P                  4       P	                  ^
4      P                  4       P                  4       4      oRR/o \        R\        V V3R l4      RR RRR	S/V V3R
 lR\        P                  R7      # )r™   r    r|   ÚNLLLoss_no_reducec                 ó~   <€ \         P                  ! V SP                  V 4      P                  4       SR ,          R7      # ©r    r}   ©r~   Únll_lossr€   Úlong©r:   rh   r6   s   &€€r*   r=   Ú(nllloss_no_reduce_test.<locals>.<lambda>õ  ó(   ø€ ”a—j’j  A§I¡I¨a£L×$5Ñ$5Ó$7À6È+ÕCVÕWr,   úpF::nll_loss(
            i, t.to(i.options()).to(torch::kLong), F::NLLLossFuncOptions().reduction(torch::kNone))c                  óL   € \         P                  ! ^^
4      P                  4       # ©r™   rú   rd   r,   r*   r=   r{  ø  rû   r,   r:   rˆ   r6   c                 óh   <€ \         R ,          ! V SP                  V 4      P                  4       3/ SB # ©ÚNLLLoss©r   r€   ry  ©r:   r<   rh   r6   s   &*€€r*   r=   r{  ú  ó(   ø€ Ü˜yÖ)¨!¨Q¯Y©Y°q«\×->Ñ->Ó-@ÑKÀFÒKr,   FrŒ   ©
r   r4   ÚemptyÚuniform_r   Úfloorry  r•   rv   r[   ©rh   r6   s   @@r*   Únllloss_no_reduce_testr‹  ï  s†   ù€ Ü”—’˜R“×)Ñ)Ó+×/Ñ/°Ó3×9Ñ9Ó;×@Ñ@ÓBÓC€AØ˜6Ð"€FÜØ$Ü#ÝWóYðgá1Ø˜.¨#¨qÐ1õLàÜ—l‘lô$ð $r,   c                  ó4  a a€ \        \        P                  ! ^4      P                  4       P	                  ^
4      P                  4       P                  4       4      oR^RR/o \        R\        V V3R l4      RR RR	R
S/V V3R lR\        P                  R7      # )r™   Úignore_indexr    r|   ÚNLLLoss_no_reduce_ignore_indexc           	      ó²   <€ \         P                  ! V SP                  V 4      P                  4       \	        SR ,          4      \        SR,          4      R7      # ©r�  r    ©r�  r    ©r~   rx  r€   ry  ÚintÚstrrz  s   &€€r*   r=   Ú5nllloss_no_reduce_ignore_index_test.<locals>.<lambda>  ó>   ø€ ”a—j’j  A§I¡I¨a£L×$5Ñ$5Ó$7ÄcÈ&ÐQ_ÕJ`ÓFaÜ+.¨v°kÕ/BÓ+CõEr,   z€F::nll_loss(
            i, t.to(i.options()).to(torch::kLong), F::NLLLossFuncOptions().ignore_index(2).reduction(torch::kNone))c                  óL   € \         P                  ! ^^
4      P                  4       # r  rú   rd   r,   r*   r=   r•  
  rû   r,   r:   rˆ   r6   c                 óh   <€ \         R ,          ! V SP                  V 4      P                  4       3/ SB # r�  rƒ  r„  s   &*€€r*   r=   r•    r…  r,   FrŒ   r†  rŠ  s   @@r*   Ú#nllloss_no_reduce_ignore_index_testr™     s�   ù€ Ü”—’˜R“×)Ñ)Ó+×/Ñ/°Ó3×9Ñ9Ó;×@Ñ@ÓBÓC€AØ$2°A°{ÀFÐ#K€FÜØ1Ü#õEóFðwá1Ø˜.¨#¨qÐ1õLàÜ—l‘lô$ð $r,   c                  óf  a aa€ \        \        P                  ! ^4      P                  4       P	                  ^
4      P                  4       P                  4       4      o\        P                  ! ^
4      oV3R lo \        R\        V V3R l4      RR RRRSR	S/V V3R
 lR\        P                  R7      # )r™   c                 ó.   <€ R SP                  V 4      RR/# ©r.   r    r|   ©r€   ©r:   r.   s   &€r*   rh   Ú.nllloss_no_reduce_weights_test.<locals>.kwargs  ó   ø€ Ø˜&Ÿ.™.¨Ó+¨[¸&ÐAÐAr,   ÚNLLLoss_no_reduce_weightsc                 óz   <€ \         P                  ! V SP                  V 4      P                  4       3/ S! V 4      B # rc   rw  rz  s   &€€r*   r=   Ú0nllloss_no_reduce_weights_test.<locals>.<lambda>  ó*   ø€ ”a—j’j  A§I¡I¨a£L×$5Ñ$5Ó$7ÑE¹6À!»9ÒEr,   ú›F::nll_loss(
            i, t.to(i.options()).to(torch::kLong),
            F::NLLLossFuncOptions().weight(weight.to(i.options())).reduction(torch::kNone))c                  ój   € \         P                  ! ^^
4      P                  R4      P                  4       # ©r™   r>   ©r4   r‡   Úaddrª   rd   r,   r*   r=   r£     ó#   € œŸš B¨Ó+×/Ñ/°Ó5×9Ñ9Ô;r,   r:   rˆ   r6   r.   c                 ót   <€ \         R ,          ! V SP                  V 4      P                  4       3/ S! V 4      B # r�  rƒ  r„  s   &*€€r*   r=   r£  "  ó,   ø€ Ü˜yÖ)¨!¨Q¯Y©Y°q«\×->Ñ->Ó-@ÑNÁFÈ1ÃIÒNr,   FrŒ   ©r   r4   r‡  rˆ  r   r‰  ry  r‡   r•   rv   r[   ©rh   r6   r.   s   @@@r*   Únllloss_no_reduce_weights_testr¯    s—   ú€ Ü”—’˜R“×)Ñ)Ó+×/Ñ/°Ó3×9Ñ9Ó;×@Ñ@ÓBÓC€AÜ�ZŠZ˜‹^€FõBô Ø,Ü#ÝEóGð_ñ <Ø˜.¨#¨q°(¸FÐCõOàÜ—l‘lô$ð $r,   c                  óf  a aa€ \        \        P                  ! ^4      P                  4       P	                  ^
4      P                  4       P                  4       4      o\        P                  ! ^
4      oV3R lo \        R\        V V3R l4      RR RRRSR	S/V V3R
 lR\        P                  R7      # )r™   c                 ó2   <€ R SP                  V 4      RRR^/# )r.   r    r|   r�  r�  rž  s   &€r*   rh   Ú;nllloss_no_reduce_weights_ignore_index_test.<locals>.kwargs,  s$   ø€ Ø˜&Ÿ.™.¨Ó+¨[¸&Ø ð#ð 	#r,   Ú&NLLLoss_no_reduce_weights_ignore_indexc                 óŽ   <€ \         P                  ! V SP                  V 4      P                  4       3/ S! V P                  4      B # rc   )r~   rx  r€   ry  Údatarz  s   &€€r*   r=   Ú=nllloss_no_reduce_weights_ignore_index_test.<locals>.<lambda>3  s.   ø€ ”a—j’j  A§I¡I¨a£L×$5Ñ$5Ó$7ÑJ¹6À!Ç&Á&»>ÒJr,   z«F::nll_loss(
            i, t.to(i.options()).to(torch::kLong),
            F::NLLLossFuncOptions().weight(weight.to(i.options())).reduction(torch::kNone).ignore_index(2))c                  ój   € \         P                  ! ^^
4      P                  R4      P                  4       # r§  r¨  rd   r,   r*   r=   r¶  7  rª  r,   r:   rˆ   r6   r.   c                 ót   <€ \         R ,          ! V SP                  V 4      P                  4       3/ S! V 4      B # r�  rƒ  r„  s   &*€€r*   r=   r¶  9  r¬  r,   FrŒ   r­  r®  s   @@@r*   Ú+nllloss_no_reduce_weights_ignore_index_testr¹  (  s–   ú€ Ü”—’˜R“×)Ñ)Ó+×/Ñ/°Ó3×9Ñ9Ó;×@Ñ@ÓBÓC€AÜ�ZŠZ˜‹^€Fõ#ô Ø9Ü#ÝJóLðoñ <Ø˜.¨#¨q°(¸FÐCõOàÜ—l‘lô$ð $r,   c                  óè  a aa€ \        \        P                  ! ^4      P                  4       P	                  ^
4      P                  4       P                  4       4      o\        P                  ! ^
4      oV3R lo \        R\        V V3R l4      R\        P                  ! ^^
\        P                  R7      P                  R4      P                  4       RRR	SR
S/V V3R lR\        P                  R7      # )r™   c                 ó2   <€ R SP                  V 4      RRRR/# )r.   r    r|   r�  r3   r�  rž  s   &€r*   rh   Ú?nllloss_no_reduce_weights_ignore_index_neg_test.<locals>.kwargsC  s$   ø€ Ø˜&Ÿ.™.¨Ó+¨[¸&Ø ð$ð 	$r,   Ú*NLLLoss_no_reduce_weights_ignore_index_negc                 óz   <€ \         P                  ! V SP                  V 4      P                  4       3/ S! V 4      B # rc   rw  rz  s   &€€r*   r=   ÚAnllloss_no_reduce_weights_ignore_index_neg_test.<locals>.<lambda>J  r¤  r,   z¬F::nll_loss(
            i, t.to(i.options()).to(torch::kLong),
            F::NLLLossFuncOptions().weight(weight.to(i.options())).reduction(torch::kNone).ignore_index(-1))r»   r>   r:   rˆ   r6   r.   c                 ót   <€ \         R ,          ! V SP                  V 4      P                  4       3/ S! V 4      B # r�  rƒ  r„  s   &*€€r*   r=   r¿  P  r¬  r,   F)r�   rŽ   r�   Úinputr‘   rD   r’   rG   )r   r4   r‡  rˆ  r   r‰  ry  r‡   r•   rv   r[   r©  rª   r®  s   @@@r*   Ú/nllloss_no_reduce_weights_ignore_index_neg_testrÂ  ?  s»   ú€ Ü”—’˜R“×)Ñ)Ó+×/Ñ/°Ó3×9Ñ9Ó;×@Ñ@ÓBÓC€AÜ�ZŠZ˜‹^€Fõ$ô Ø=Ü#ÝEóGðpô �jŠj˜˜R¤u§|¡|Ô4×8Ñ8¸Ó>×BÑBÓDØ˜.¨#¨q°(¸FÐCõOàÜ—l‘lô$ð $r,   c                  ó  a a€ \        \        P                  ! ^^^4      P                  ^4      P	                  4       P                  4       4      oRR/o \        R\        V V3R l4      RR RRR	S/V V3R
 lR\        P                  R7      # )r4  r    r|   ÚNLLLoss2d_no_reducec                 ó~   <€ \         P                  ! V SP                  V 4      P                  4       SR ,          R7      # rv  rw  rz  s   &€€r*   r=   Ú*nllloss2d_no_reduce_test.<locals>.<lambda>\  r|  r,   r}  c                  óP   € \         P                  ! ^^^^4      P                  4       # r=  rú   rd   r,   r*   r=   rÆ  _  ó   € œŸš A q¨!¨QÓ/×3Ñ3Ô5r,   r:   rˆ   r6   c                 óh   <€ \         R ,          ! V SP                  V 4      P                  4       3/ SB # ©Ú	NLLLossNdrƒ  r„  s   &*€€r*   r=   rÆ  a  ó(   ø€ Ü˜{Ö+¨A¨q¯y©y¸«|×/@Ñ/@Ó/BÑMÀfÒMr,   FrŒ   ©	r   r4   r‡   r   r‰  ry  r•   rv   r[   rŠ  s   @@r*   Únllloss2d_no_reduce_testrÎ  V  s‚   ù€ Ü”—’˜A˜q !Ó$×(Ñ(¨Ó+×1Ñ1Ó3×8Ñ8Ó:Ó;€AØ˜6Ð"€FÜØ&Ü#ÝWóYðgá5Ø˜.¨#¨qÐ1õNàÜ—l‘lô$ð $r,   c                  ó  a a€ \        \        P                  ! ^^^4      P                  ^4      P	                  4       P                  4       4      oR^RR/o \        R\        V V3R l4      RR RR	R
S/V V3R lR\        P                  R7      # )r4  r�  r    r|   Ú NLLLoss2d_no_reduce_ignore_indexc           	      ó²   <€ \         P                  ! V SP                  V 4      P                  4       \	        SR ,          4      \        SR,          4      R7      # r�  r’  rz  s   &€€r*   r=   Ú7nllloss2d_no_reduce_ignore_index_test.<locals>.<lambda>m  r–  r,   ú€F::nll_loss(
            i, t.to(i.options()).to(torch::kLong), F::NLLLossFuncOptions().ignore_index(1).reduction(torch::kNone))c                  óP   € \         P                  ! ^^^^4      P                  4       # r=  rú   rd   r,   r*   r=   rÒ  q  rÈ  r,   r:   rˆ   r6   c                 óh   <€ \         R ,          ! V SP                  V 4      P                  4       3/ SB # rÊ  rƒ  r„  s   &*€€r*   r=   rÒ  s  rÌ  r,   FrŒ   rÍ  rŠ  s   @@r*   Ú%nllloss2d_no_reduce_ignore_index_testrÖ  g  s‰   ù€ Ü”—’˜A˜q !Ó$×(Ñ(¨Ó+×1Ñ1Ó3×8Ñ8Ó:Ó;€AØ$2°A°{ÀFÐ#K€FÜØ3Ü#õEóFðwá5Ø˜.¨#¨qÐ1õNàÜ—l‘lô$ð $r,   c                  óN  a aa€ \        \        P                  ! ^^^4      P                  ^4      P	                  4       P                  4       4      o\        P                  ! ^4      oV3R lo \        R\        V V3R l4      RR RRRSR	S/V V3R
 lR\        P                  R7      # )r4  c                 ó.   <€ R SP                  V 4      RR/# rœ  r�  rž  s   &€r*   rh   Ú0nllloss2d_no_reduce_weights_test.<locals>.kwargs}  r   r,   ÚNLLLoss2d_no_reduce_weightsc                 óz   <€ \         P                  ! V SP                  V 4      P                  4       3/ S! V 4      B # rc   rw  rz  s   &€€r*   r=   Ú2nllloss2d_no_reduce_weights_test.<locals>.<lambda>ƒ  r¤  r,   r¥  c                  óP   € \         P                  ! ^^^^4      P                  4       # r=  rú   rd   r,   r*   r=   rÜ  ‡  rÈ  r,   r:   rˆ   r6   r.   c                 ót   <€ \         R ,          ! V SP                  V 4      P                  4       3/ S! V 4      B # rÊ  rƒ  r„  s   &*€€r*   r=   rÜ  ‰  ó,   ø€ Ü˜{Ö+¨A¨q¯y©y¸«|×/@Ñ/@Ó/BÑPÁfÈQÃiÒPr,   FrŒ   rÍ  r®  s   @@@r*   Ú nllloss2d_no_reduce_weights_testrà  y  s“   ú€ Ü”—’˜A˜q !Ó$×(Ñ(¨Ó+×1Ñ1Ó3×8Ñ8Ó:Ó;€AÜ�ZŠZ˜‹]€FõBô Ø.Ü#ÝEóGð_ñ 6Ø˜.¨#¨q°(¸FÐCõQàÜ—l‘lô$ð $r,   c                  ó  a a€ \        \        P                  ! ^^^^^4      P                  ^4      P	                  4       P                  4       4      oRR/o \        R\        V V3R l4      RR RRR	S/V V3R
 lR\        P                  R7      # )r4  r    r|   ÚNLLLossNd_no_reducec                 ó~   <€ \         P                  ! V SP                  V 4      P                  4       SR ,          R7      # rv  rw  rz  s   &€€r*   r=   Ú*nlllossNd_no_reduce_test.<locals>.<lambda>•  r|  r,   r}  c                  óT   € \         P                  ! ^^^^^^4      P                  4       # r=  rú   rd   r,   r*   r=   rä  ˜  ó    € œŸš A q¨!¨Q°°1Ó5×9Ñ9Ô;r,   r:   rˆ   r6   c                 óh   <€ \         R ,          ! V SP                  V 4      P                  4       3/ SB # rÊ  rƒ  r„  s   &*€€r*   r=   rä  š  rÌ  r,   FrŒ   rÍ  rŠ  s   @@r*   ÚnlllossNd_no_reduce_testrè  �  s†   ù€ Ü”—’˜A˜q ! Q¨Ó*×.Ñ.¨qÓ1×7Ñ7Ó9×>Ñ>Ó@ÓA€AØ˜6Ð"€FÜØ&Ü#ÝWóYðgá;Ø˜.¨#¨qÐ1õNàÜ—l‘lô$ð $r,   c                  ó   a a€ \        \        P                  ! ^^^^^4      P                  ^4      P	                  4       P                  4       4      oR^RR/o \        R\        V V3R l4      RR RR	R
S/V V3R lR\        P                  R7      # )r4  r�  r    r|   Ú NLLLossNd_no_reduce_ignore_indexc           	      ó²   <€ \         P                  ! V SP                  V 4      P                  4       \	        SR ,          4      \        SR,          4      R7      # r�  r’  rz  s   &€€r*   r=   Ú7nlllossNd_no_reduce_ignore_index_test.<locals>.<lambda>¦  r–  r,   rÓ  c                  óT   € \         P                  ! ^^^^^^4      P                  4       # r=  rú   rd   r,   r*   r=   rì  ª  ræ  r,   r:   rˆ   r6   c                 óh   <€ \         R ,          ! V SP                  V 4      P                  4       3/ SB # rÊ  rƒ  r„  s   &*€€r*   r=   rì  ¬  rÌ  r,   FrŒ   rÍ  rŠ  s   @@r*   Ú%nlllossNd_no_reduce_ignore_index_testrï     s�   ù€ Ü”—’˜A˜q ! Q¨Ó*×.Ñ.¨qÓ1×7Ñ7Ó9×>Ñ>Ó@ÓA€AØ$2°A°{ÀFÐ#K€FÜØ3Ü#õEóFðwá;Ø˜.¨#¨qÐ1õNàÜ—l‘lô$ð $r,   c                  óR  a aa€ \        \        P                  ! ^^^^^4      P                  ^4      P	                  4       P                  4       4      o\        P                  ! ^4      oV3R lo \        R\        V V3R l4      RR RRRSR	S/V V3R
 lR\        P                  R7      # )r4  c                 ó.   <€ R SP                  V 4      RR/# rœ  r�  rž  s   &€r*   rh   Ú0nlllossNd_no_reduce_weights_test.<locals>.kwargs¶  r   r,   ÚNLLLossNd_no_reduce_weightsc                 óz   <€ \         P                  ! V SP                  V 4      P                  4       3/ S! V 4      B # rc   rw  rz  s   &€€r*   r=   Ú2nlllossNd_no_reduce_weights_test.<locals>.<lambda>¼  r¤  r,   r¥  c                  óT   € \         P                  ! ^^^^^^4      P                  4       # r=  rú   rd   r,   r*   r=   rõ  À  ræ  r,   r:   rˆ   r6   r.   c                 ót   <€ \         R ,          ! V SP                  V 4      P                  4       3/ S! V 4      B # rÊ  rƒ  r„  s   &*€€r*   r=   rõ  Â  rß  r,   FrŒ   rÍ  r®  s   @@@r*   Ú nlllossNd_no_reduce_weights_testrø  ²  s—   ú€ Ü”—’˜A˜q ! Q¨Ó*×.Ñ.¨qÓ1×7Ñ7Ó9×>Ñ>Ó@ÓA€AÜ�ZŠZ˜‹]€FõBô Ø.Ü#ÝEóGð_ñ <Ø˜.¨#¨q°(¸FÐCõQàÜ—l‘lô$ð $r,   c                  óÄ   a € \         P                  ! ^^^\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )r4  r»   ÚSmoothL1Loss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úsmooth_l1_lossr€   r�   s   &€r*   r=   Ú-smoothl1loss_no_reduce_test.<locals>.<lambda>Í  ó   ø€ ”a×&Ò& q¨!¯)©)°A«,À&ÕIr,   újF::smooth_l1_loss(
            i, t.to(i.options()), F::SmoothL1LossFuncOptions().reduction(torch::kNone))c                  ó2   € \         P                  ! ^^^4      # r=  r>  rd   r,   r*   r=   rþ  Ð  r?  r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # ©ÚSmoothL1Lossr|   r}   rÿ   r‹   s   &*€r*   r=   rþ  Ò  ó   ø€ Ü˜~Ö.¨q°!·)±)¸A³,È&ÕQr,   TFr  rD  r–   s   @r*   Úsmoothl1loss_no_reduce_testr  È  s_   ø€ Ü�Š�A�q˜!¤5§<¡<Ô0€AÜØ)Ü#ÜIóKð[á-Ø˜.¨#¨qÐ1ôRà ØÜ—l‘lô$ð $r,   c                  óÀ   a € \         P                  ! R\         P                  R 7      o \        R\	        V 3R l4      RR RRRS /V 3R lR	R
\         P                  R7	      # )r»   ÚSmoothL1Loss_no_reduce_scalarc                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   rü  r�   s   &€r*   r=   Ú4smoothl1loss_no_reduce_scalar_test.<locals>.<lambda>Þ  rÿ  r,   r   c                  ó.   € \         P                  ! R4      # r  r>  rd   r,   r*   r=   r
  á  rT  r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # r  rÿ   r‹   s   &*€r*   r=   r
  ã  r  r,   TFr  rd   rD  r–   s   @r*   Ú"smoothl1loss_no_reduce_scalar_testr  Ù  s[   ø€ Ü�Š�BœeŸl™lÔ+€AÜØ0Ü#ÜIóKð[á(Ø˜.¨#¨qÐ1ôRà ØÜ—l‘lô$ð $r,   c                  óÄ   a € \         P                  ! ^^^\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )r4  r»   ÚSmoothL1Loss_betac                 óV   <€ \         P                  ! V SP                  V 4      R RR7      # )r|   ç      à?©r    Úbetarü  r�   s   &€r*   r=   Ú(smoothl1loss_beta_test.<locals>.<lambda>ï  s   ø€ ”a×&Ò& q¨!¯)©)°A«,À&ÈsÕSr,   zoF::smooth_l1_loss(
            i, t.to(i.options()), F::SmoothL1LossFuncOptions().reduction(torch::kNone), 0.5)c                  ó2   € \         P                  ! ^^^4      # r=  r>  rd   r,   r*   r=   r  ò  r?  r,   r:   rˆ   r6   c                 óP   <€ \         R ,          ! V SP                  V 4      RRR7      # )r  r|   r  r  rÿ   r‹   s   &*€r*   r=   r  ô  s   ø€ Ü˜~Ö.¨q°!·)±)¸A³,È&ÐWZÕ[r,   TFr  rD  r–   s   @r*   Úsmoothl1loss_beta_testr  ê  s_   ø€ Ü�Š�A�q˜!¤5§<¡<Ô0€AÜØ$Ü#ÜSóUð`á-Ø˜.¨#¨qÐ1ô\à ØÜ—l‘lô$ð $r,   c                  óÄ   a € \         P                  ! ^^^\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )r4  r»   ÚSmoothL1Loss_zero_betac                 óV   <€ \         P                  ! V SP                  V 4      R ^ R7      # )r|   r  rü  r�   s   &€r*   r=   Ú-smoothl1loss_zero_beta_test.<locals>.<lambda>   s   ø€ ”a×&Ò& q¨!¯)©)°A«,À&ÈqÕQr,   zmF::smooth_l1_loss(
            i, t.to(i.options()), F::SmoothL1LossFuncOptions().reduction(torch::kNone), 0)c                  ó2   € \         P                  ! ^^^4      # r=  r>  rd   r,   r*   r=   r    r?  r,   r:   rˆ   r6   c                 óP   <€ \         R ,          ! V SP                  V 4      R^ R7      # )r  r|   r  rÿ   r‹   s   &*€r*   r=   r    s   ø€ Ü˜~Ö.¨q°!·)±)¸A³,È&ÐWXÕYr,   TFr  rD  r–   s   @r*   Úsmoothl1loss_zero_beta_testr  û  s_   ø€ Ü�Š�A�q˜!¤5§<¡<Ô0€AÜØ)Ü#ÜQóSð^á-Ø˜.¨#¨qÐ1ôZà ØÜ—l‘lô$ð $r,   c                  ó¤   a € \         P                  ! ^^^4      o \        R\        V 3R l4      RR RRRS /V 3R lR	R
\         P                  R7	      # )r4  ÚHuberLoss_deltac                 óV   <€ \         P                  ! V SP                  V 4      R RR7      # )r|   r  ©r    Údelta)r~   Ú
huber_lossr€   r�   s   &€r*   r=   Ú&huberloss_delta_test.<locals>.<lambda>  s   ø€ ”a—l’l 1 a§i¡i°£l¸fÈCÕPr,   znF::huber_loss(
            i, t.to(i.options()), F::HuberLossFuncOptions().reduction(torch::kNone).delta(0.5))c                  ó2   € \         P                  ! ^^^4      # r=  r>  rd   r,   r*   r=   r%    r?  r,   r:   rˆ   r6   c                 óP   <€ \         R ,          ! V SP                  V 4      RRR7      # )Ú	HuberLossr|   r  r"  rÿ   r‹   s   &*€r*   r=   r%    s   ø€ Ü˜{Ö+¨A¨q¯y©y¸«|ÀvÐUXÕYr,   TFr  r“   r–   s   @r*   Úhuberloss_delta_testr)    sY   ø€ Ü�Š�A�q˜!Ó€AÜØ"Ü#ÜPóRðcá-Ø˜.¨#¨qÐ1ôZà ØÜ—l‘lô$ð $r,   c                  ó    a € \         P                  ! R4      P                  4       o \        R \	        V 3R l4      RR RRRS /V 3R lRR	R	R
7	      # )Ú!MultiLabelMarginLoss_0d_no_reducec                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   ©r~   Úmultilabel_margin_lossr€   ry  r�   s   &€r*   r=   Ú8multilabelmarginloss_0d_no_reduce_test.<locals>.<lambda>"  ó&   ø€ ”a×.Ò.¨q°!·)±)¸A³,×2CÑ2CÓ2EÐQWÕXr,   ú‹F::multilabel_margin_loss(
            i, t.to(i.options()).to(torch::kLong), F::MultilabelMarginLossFuncOptions().reduction(torch::kNone))c                  ó.   € \         P                  ! R4      # r  r>  rd   r,   r*   r=   r/  %  rT  r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # ©ÚMultiLabelMarginLossr|   r}   ©r   rµ  r€   ry  r‹   s   &*€r*   r=   r/  '  ó,   ø€ ÜÐ5Ö6°q¸!¿&¹&¿.¹.ÈÓ:K×:PÑ:PÓ:RÐ^dÕer,   TF)	r�   rŽ   r�   r�   r‘   rD   Úcheck_sum_reductionrW   r’   rd   )r4   Úzerosry  r•   rv   r–   s   @r*   Ú&multilabelmarginloss_0d_no_reduce_testr:    sY   ø€ Ü�Š�B‹×ÑÓ€AÜØ4Ü#ÜXóZðtá(Ø˜.¨#¨qÐ1ôfà ØØôð r,   c                  ó
  a € \        \        P                  ! ^
4      P                  ^
4      P	                  4       P                  4       4      o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\        P                  R7
      # )rx   Ú!MultiLabelMarginLoss_1d_no_reducec                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   r-  r�   s   &€r*   r=   Ú8multilabelmarginloss_1d_no_reduce_test.<locals>.<lambda>3  r0  r,   r1  c                  ó.   € \         P                  ! ^
4      # r…   r>  rd   r,   r*   r=   r>  6  rT  r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # r4  r6  r‹   s   &*€r*   r=   r>  8  r7  r,   TF©
r�   rŽ   r�   r�   r‘   rD   r8  rW   r’   rG   rÍ  r–   s   @r*   Ú&multilabelmarginloss_1d_no_reduce_testrB  .  sy   ø€ Ü”—’˜B“×#Ñ# BÓ'×-Ñ-Ó/×4Ñ4Ó6Ó7€AÜØ4Ü#ÜXóZðtá(Ø˜.¨#¨qÐ1ôfà ØØÜ—l‘lô$ð $r,   c                  óV  a € \        \        P                  ! \        P                  ! ^^
4      P	                  R4      P                  ^4      P                  4       P                  4       RR7      4      o \        R\        V 3R l4      RR RRRS /V 3R	 lR
RR\        P                  R7
      # )rj  ©ÚminÚMultiLabelMarginLoss_index_negc                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   r-  r�   s   &€r*   r=   Ú5multilabelmarginloss_index_neg_test.<locals>.<lambda>E  r0  r,   r1  c                  ó0   € \         P                  ! ^^
4      # ©rj  r>  rd   r,   r*   r=   rH  H  ó   € œŸš Q¨Ô+r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # r4  r6  r‹   s   &*€r*   r=   rH  J  r7  r,   TFrA  g      à¿r3   )r   r4   Úclampr‡   r©  r   r‰  ry  r•   rv   r[   r–   s   @r*   Ú#multilabelmarginloss_index_neg_testrN  @  s“   ø€ Ü”—’œUŸZšZ¨¨2Ó.×2Ñ2°3Ó7×;Ñ;¸BÓ?×EÑEÓG×LÑLÓNÐTVÔWÓX€AÜØ1Ü#ÜXóZðtá+Ø˜.¨#¨qÐ1ôfà ØØÜ—l‘lô$ð $r,   c                  ó  a € \        \        P                  ! ^^
4      P                  ^
4      P	                  4       P                  4       4      o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\        P                  R7
      # )rj  ÚMultiLabelMarginLoss_no_reducec                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   r-  r�   s   &€r*   r=   Ú5multilabelmarginloss_no_reduce_test.<locals>.<lambda>W  r0  r,   r1  c                  ó0   € \         P                  ! ^^
4      # rJ  r>  rd   r,   r*   r=   rR  Z  rK  r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # r4  r6  r‹   s   &*€r*   r=   rR  \  r7  r,   TFrA  rÍ  r–   s   @r*   Ú#multilabelmarginloss_no_reduce_testrU  R  s|   ø€ Ü”—’˜A˜rÓ"×&Ñ& rÓ*×0Ñ0Ó2×7Ñ7Ó9Ó:€AÜØ1Ü#ÜXóZðtá+Ø˜.¨#¨qÐ1ôfà ØØÜ—l‘lô$ð $r,   c                  óF  a € \        \        P                  ! ^
4      P                  ^ 4      P	                  \        P
                  4      P                  ^4      P                  ^4      4      o \        R\        V 3R l4      RR RRRS /V 3R lR	R
\        P
                  R7	      # )rx   ÚHingeEmbeddingLoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úhinge_embedding_lossr€   r�   s   &€r*   r=   Ú3hingeembeddingloss_no_reduce_test.<locals>.<lambda>i  rŸ   r,   zvF::hinge_embedding_loss(
            i, t.to(i.options()), F::HingeEmbeddingLossFuncOptions().reduction(torch::kNone))c                  ó.   € \         P                  ! ^
4      # r…   r>  rd   r,   r*   r=   r[  l  rT  r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # )ÚHingeEmbeddingLossr|   r}   rÿ   r‹   s   &*€r*   r=   r[  n  s   ø€ ÜÐ3Ö4°Q¸¿	¹	À!»ÐPVÕWr,   TF©	r�   rŽ   r�   r�   r‘   rD   r8  r’   rG   ©
r   r4   r”   r®   r¯   r[   Úmul_Úsubr•   rv   r–   s   @r*   Ú!hingeembeddingloss_no_reduce_testrc  d  s‰   ø€ Ü”—’˜R“×#Ñ# AÓ&×)Ñ)¬%¯,©,Ó7×<Ñ<¸QÓ?×CÑCÀAÓFÓG€AÜØ/Ü#ÜOóQðaá(Ø˜.¨#¨qÐ1ôXà ØÜ—l‘lô$ð $r,   c                  óF  a € \        \        P                  ! ^
4      P                  ^ 4      P	                  \        P
                  4      P                  ^4      P                  ^4      4      o \        R\        V 3R l4      RR RRRS /V 3R lR	R
\        P
                  R7	      # )rx   Ú#HingeEmbeddingLoss_margin_no_reducec                 óV   <€ \         P                  ! V SP                  V 4      R RR7      # ©r  r|   ©Úmarginr    rY  r�   s   &€r*   r=   Ú:hingeembeddingloss_margin_no_reduce_test.<locals>.<lambda>z  s   ø€ ”a×,Ò,¨Q°·	±	¸!³ÀSÐTZÕ[r,   z‚F::hinge_embedding_loss(
            i, t.to(i.options()), F::HingeEmbeddingLossFuncOptions().margin(0.5).reduction(torch::kNone))c                  ó.   € \         P                  ! ^
4      # r…   r>  rd   r,   r*   r=   rj  }  rT  r,   r:   rˆ   r6   c                 óP   <€ \         R ,          ! V SP                  V 4      RRR7      # )r^  r  r|   rh  rÿ   r‹   s   &*€r*   r=   rj    s    ø€ ÜÐ3Ö4°Q¸¿	¹	À!»ÈSÐ\bÕcr,   TFr_  r`  r–   s   @r*   Ú(hingeembeddingloss_margin_no_reduce_testrm  u  s‰   ø€ Ü”—’˜R“×#Ñ# AÓ&×)Ñ)¬%¯,©,Ó7×<Ñ<¸QÓ?×CÑCÀAÓFÓG€AÜØ6Ü#Ü[ó]ðmá(Ø˜.¨#¨qÐ1ôdà ØÜ—l‘lô$ð $r,   c                  óÂ   a € \         P                  ! ^^\         P                  R7      o \        R\	        V 3R l4      RR RRRS /V 3R	 lR
R\         P                  R7	      # )rj  r»   ÚSoftMarginLoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   )r~   Úsoft_margin_lossr€   r�   s   &€r*   r=   Ú/softmarginloss_no_reduce_test.<locals>.<lambda>‹  rƒ   r,   znF::soft_margin_loss(
            i, t.to(i.options()), F::SoftMarginLossFuncOptions().reduction(torch::kNone))c                  ó0   € \         P                  ! ^^4      # rJ  r>  rd   r,   r*   r=   rr  Ž  s   € œŸš Q¨Ô*r,   r:   rˆ   r6   c                 óN   <€ \         R ,          ! V SP                  V 4      RR7      # )ÚSoftMarginLossr|   r}   rÿ   r‹   s   &*€r*   r=   rr  �  s   ø€ ÜÐ/Ö0°°A·I±I¸a³LÈFÕSr,   TFr  rD  r–   s   @r*   Úsoftmarginloss_no_reduce_testrv  †  s]   ø€ Ü�Š�A�q¤§¡Ô-€AÜØ+Ü#ÜKóMð]á*Ø˜.¨#¨qÐ1ôTà ØÜ—l‘lô$ð $r,   c                  óÜ   a € \         P                  ! ^^
4      P                  ^4      P                  4       o \	        R\        V 3R l4      RR RRRS /V 3R lR	R	\         P                  R
7	      # )rj  Ú"MultiLabelSoftMarginLoss_no_reducec                 óT   <€ \         P                  ! V SP                  V 4      R R7      # r{   ©r~   Úmultilabel_soft_margin_lossr€   r�   s   &€r*   r=   Ú9multilabelsoftmarginloss_no_reduce_test.<locals>.<lambda>œ  s   ø€ ”a×3Ò3°A°q·y±yÀ³|ÈvÕVr,   zƒF::multilabel_soft_margin_loss(
            i, t.to(i.options()), F::MultilabelSoftMarginLossFuncOptions().reduction(torch::kNone))c                  ó0   € \         P                  ! ^^
4      # rJ  r>  rd   r,   r*   r=   r|  Ÿ  rK  r,   r:   rˆ   r6   c                 ó   <€ SV P                  4       P                  4       ,          ^S,
          V ) P                  4       P                  4       ,          ,           ) P                  ^R7      V P                  ^4      ,          # ©rT   ©Údim©rÛ   rª   Úsumr\   r‹   s   &*€r*   r=   r|  ¡  s[   ø€ Ø�1—9‘9“;—?‘?Ó$Õ$¨¨A­°1°"·±³×1CÑ1CÓ1EÕ'EÕEÐF×KÑKÐPQÐKÓRÐUV×U[ÑU[Ð\]ÓU^Ö^r,   FrÝ   ©r4   r‡   r   r‰  r•   rv   r[   r–   s   @r*   Ú'multilabelsoftmarginloss_no_reduce_testr…  —  sk   ø€ Ü�
Š
�1�bÓ×Ñ˜aÓ ×&Ñ&Ó(€AÜØ5Ü#ÜVóXðgá+Ø˜.¨#¨qÐ1ô_àØÜ—l‘lô$ð $r,   c                  ó  a a€ \         P                  ! ^^
4      P                  ^4      P                  4       o \         P                  ! ^
4      o\	        R\        V V3R l4      RR RRRS RS/V V3R	 lR
RR\         P                  R7
      # )rj  Ú*MultiLabelSoftMarginLoss_weights_no_reducec                 ót   <€ \         P                  ! V SP                  V 4      SP                  V 4      R R7      # r¿   rz  rÁ   s   &€€r*   r=   ÚAmultilabelsoftmarginloss_weights_no_reduce_test.<locals>.<lambda>®  s,   ø€ ”a×3Ò3°A°q·y±yÀ³|Ø;B¿?¹?È1Ó;MÐY_õar,   z¯F::multilabel_soft_margin_loss(
            i, t.to(i.options()),
            F::MultilabelSoftMarginLossFuncOptions().weight(weights.to(i.options())).reduction(torch::kNone))c                  ó0   € \         P                  ! ^^
4      # rJ  r>  rd   r,   r*   r=   r‰  ³  rK  r,   r:   rˆ   r6   r/   c                 ó  <€ SV P                  4       P                  4       ,          ^S,
          V ) P                  4       P                  4       ,          ,           ) S,          P                  ^R7      V P                  ^4      ,          # r  r‚  rÏ   s   &*€€r*   r=   r‰  µ  s`   ø€ Ø�1—9‘9“;—?‘?Ó$Õ$¨¨A­°1°"·±³×1CÑ1CÓ1EÕ'EÕEÐFÈÕP×UÑUÐZ[ÐUÓ\Ð_`×_eÑ_eÐfgÓ_hÖhr,   TFrA  r„  rÇ   s   @@r*   Ú/multilabelsoftmarginloss_weights_no_reduce_testrŒ  ¨  s„   ù€ Ü�
Š
�1�bÓ×Ñ˜aÓ ×&Ñ&Ó(€AÜ�jŠj˜‹n€GÜØ=Ü#õaóbðqñ ,Ø˜.¨#¨q°)¸WÐEõià ØØÜ—l‘lô$ð $r,   c                  óø   a € \         P                  ! ^4      P                  ^4      P                  4       P	                  4       o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\         P                  R7
      # )rj  ÚMultiMarginLoss_no_reducec                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   ©r~   Úmulti_margin_lossr€   ry  r�   s   &€r*   r=   Ú0multimarginloss_no_reduce_test.<locals>.<lambda>Â  ó%   ø€ ”a×)Ò)¨!¨Q¯Y©Y°q«\×->Ñ->Ó-@ÈFÕSr,   ú�F::multi_margin_loss(
            i, t.to(i.options()).to(torch::kLong), F::MultiMarginLossFuncOptions().reduction(torch::kNone))c                  ó0   € \         P                  ! ^^
4      # rJ  r>  rd   r,   r*   r=   r’  Å  rK  r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # ©ÚMultiMarginLossr|   r}   r6  r‹   s   &*€r*   r=   r’  Ç  ó,   ø€ ÜÐ0Ö1°!°Q·V±V·^±^ÀAÓ5F×5KÑ5KÓ5MÐY_Õ`r,   TFrA  ©r4   r‡   r   r‰  ry  r•   rv   r[   r–   s   @r*   Úmultimarginloss_no_reduce_testr›  ½  st   ø€ Ü�
Š
�1‹×Ñ˜!Ó×"Ñ"Ó$×)Ñ)Ó+€AÜØ,Ü#ÜSóUðoá+Ø˜.¨#¨qÐ1ôaà ØØÜ—l‘lô$ð $r,   c                  óø   a € \         P                  ! ^4      P                  ^4      P                  4       P	                  4       o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\         P                  R7
      # )rT   ÚMultiMarginLoss_1d_no_reducec                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   r�  r�   s   &€r*   r=   Ú3multimarginloss_1d_no_reduce_test.<locals>.<lambda>Ô  r“  r,   r”  c                  ó.   € \         P                  ! ^
4      # r…   r>  rd   r,   r*   r=   rŸ  ×  rT  r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # r—  r6  r‹   s   &*€r*   r=   rŸ  Ù  r™  r,   TFrA  rš  r–   s   @r*   Ú!multimarginloss_1d_no_reduce_testr¢  Ï  st   ø€ Ü�
Š
�1‹×Ñ˜!Ó×"Ñ"Ó$×)Ñ)Ó+€AÜØ/Ü#ÜSóUðoá(Ø˜.¨#¨qÐ1ôaà ØØÜ—l‘lô$ð $r,   c                  óø   a € \         P                  ! R4      P                  ^4      P                  4       P	                  4       o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\         P                  R7
      # )é   Ú,multimarginloss_1d_input_0d_target_no_reducec                 óp   <€ \         P                  ! V SP                  V 4      P                  4       R R7      # r{   r�  r�   s   &€r*   r=   ÚCmultimarginloss_1d_input_0d_target_no_reduce_test.<locals>.<lambda>æ  r“  r,   r”  c                  ó.   € \         P                  ! ^
4      # r…   r>  rd   r,   r*   r=   r§  é  rT  r,   r:   rˆ   r6   c                 ó~   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RR7      # r—  r6  r‹   s   &*€r*   r=   r§  ë  r™  r,   TFrA  rd   rš  r–   s   @r*   Ú1multimarginloss_1d_input_0d_target_no_reduce_testrª  á  st   ø€ Ü�
Š
�2‹×Ñ˜1Ó×#Ñ#Ó%×*Ñ*Ó,€AÜØ?Ü#ÜSóUðoá(Ø˜.¨#¨qÐ1ôaà ØØÜ—l‘lô$ð $r,   c                  óø   a € \         P                  ! ^4      P                  ^4      P                  4       P	                  4       o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\         P                  R7
      # )rj  ÚMultiMarginLoss_p_no_reducec                 ór   <€ \         P                  ! V SP                  V 4      P                  4       ^RR7      # )r4  r|   ©r;   r    r�  r�   s   &€r*   r=   Ú2multimarginloss_p_no_reduce_test.<locals>.<lambda>ø  s(   ø€ ”a×)Ò)¨!¨Q¯Y©Y°q«\×->Ñ->Ó-@ÀAÐQWÕXr,   z†F::multi_margin_loss(
            i, t.to(i.options()).to(torch::kLong), F::MultiMarginLossFuncOptions().p(2).reduction(torch::kNone))c                  óP   € \         P                  ! ^^
4      P                  RR4      # )rj  r>   g®Gáz®ï?)r4   r”   r¦   rd   r,   r*   r=   r¯  û  s   € œŸš Q¨Ó+×2Ñ2°4¸ÔBr,   r:   rˆ   r6   c                 ó€   <€ \         R ,          ! V SP                  P                  V 4      P                  4       ^RR7      # )r˜  r|   r®  r6  r‹   s   &*€r*   r=   r¯  ý  s/   ø€ ÜÐ0Ö1°!°Q·V±V·^±^ÀAÓ5F×5KÑ5KÓ5MÐQRÐ^dÕer,   TFrA  rš  r–   s   @r*   Ú multimarginloss_p_no_reduce_testr²  ó  st   ø€ Ü�
Š
�1‹×Ñ˜!Ó×"Ñ"Ó$×)Ñ)Ó+€AÜØ.Ü#ÜXóZðtáBØ˜.¨#¨qÐ1ôfà ØØÜ—l‘lô$ð $r,   c                  óø   a € \         P                  ! ^4      P                  ^4      P                  4       P	                  4       o \        R\        V 3R l4      RR RRRS /V 3R lR	R
R
\         P                  R7
      # )rj  Ú MultiMarginLoss_margin_no_reducec                 ór   <€ \         P                  ! V SP                  V 4      P                  4       R RR7      # rg  r�  r�   s   &€r*   r=   Ú7multimarginloss_margin_no_reduce_test.<locals>.<lambda>
  s(   ø€ ”a×)Ò)¨!¨Q¯Y©Y°q«\×->Ñ->Ó-@ÈÐX^Õ_r,   z™F::multi_margin_loss(
            i, t.to(i.options()).to(torch::kLong),
            F::MultiMarginLossFuncOptions().margin(0.5).reduction(torch::kNone))c                  ó0   € \         P                  ! ^^
4      # rJ  r>  rd   r,   r*   r=   r¶    rK  r,   r:   rˆ   r6   c                 ó€   <€ \         R ,          ! V SP                  P                  V 4      P                  4       RRR7      # )r˜  r  r|   rh  r6  r‹   s   &*€r*   r=   r¶    s1   ø€ ÜÐ0Ö1°!°Q·V±V·^±^ÀAÓ5F×5KÑ5KÓ5MØ9<ÈõPr,   TFrA  rš  r–   s   @r*   Ú%multimarginloss_margin_no_reduce_testr¹    sx   ø€ Ü�
Š
�1‹×Ñ˜!Ó×"Ñ"Ó$×)Ñ)Ó+€AÜØ3Ü#Ü_óaðTñ ,Ø˜.¨#¨qÐ1ôPð !ØØÜ—l‘lô$ð $r,   c                  óN  a a€ \         P                  ! ^4      P                  ^4      P                  4       P	                  4       o \         P                  ! ^
\         P
                  R7      o\        R\        V V3R l4      RR RRRS R	S/V V3R
 lRRR\         P
                  R7
      # )rj  r»   Ú!MultiMarginLoss_weights_no_reducec                 ó�   <€ \         P                  ! V SP                  V 4      P                  4       SP                  V 4      R R7      # r¿   r�  rÁ   s   &€€r*   r=   Ú8multimarginloss_weights_no_reduce_test.<locals>.<lambda>  s4   ø€ ”a×)Ò)¨!¨Q¯Y©Y°q«\×->Ñ->Ó-@ÈÏÉÐYZÓI[Ø4:õ<r,   z­F::multi_margin_loss(
            i, t.to(i.options()).to(torch::kLong),
            F::MultiMarginLossFuncOptions().weight(weights.to(i.options())).reduction(torch::kNone))c                  ó0   € \         P                  ! ^^
4      # rJ  r>  rd   r,   r*   r=   r½  $  rK  r,   r:   rˆ   r6   r/   c                 ó€   <€ \         R ,          ! V SP                  P                  V 4      P                  4       SRR7      # )r˜  r|   rÀ   r6  rÏ   s   &*€€r*   r=   r½  &  s1   ø€ ÜÐ0Ö1°!°Q·V±V·^±^ÀAÓ5F×5KÑ5KÓ5MØ9@ÈFõTr,   TFrA  )r4   r‡   r   r‰  ry  r[   r•   rv   rÇ   s   @@r*   Ú&multimarginloss_weights_no_reduce_testrÀ    s‘   ù€ Ü�
Š
�1‹×Ñ˜!Ó×"Ñ"Ó$×)Ñ)Ó+€AÜ�jŠj˜¤5§<¡<Ô0€GÜØ4Ü#õ<ó=ðhñ ,Ø˜.¨#¨q°)¸WÐEõTð !ØØÜ—l‘lô!$ð $r,   c                óî   € R pV! V 4      p\        V\        P                  4      '       d   V.MTp\        4       ;_uu_ 4        V! V!  P	                  ^ 4      uuRRR4       #   + '       g   i     R# ; i)zÉReference function for modules supporting no batch dimensions.

The module is passed the input and target in batched form with a single item.
The output is squeezed to compare with the no-batch input.
c                 ó¦   € \        V \        \        34      '       d!   V  Uu. uF  qP                  ^ 4      NK  	  up# V P                  ^ 4      # u upi rJ   ©Ú
isinstanceÚlistÚtupleÚ	unsqueeze©Úinpr6   s   & r*   Úunsqueeze_inpÚ0single_batch_reference_fn.<locals>.unsqueeze_inp5  óB   € Ü�cœD¤%˜=×)Ò)Ù,/Ó0©C q—K‘K –N©CÑ0Ð0Ø�}‰}˜QÓÐùò 1ó   ¡AN)rÄ  r4   ÚTensorr   Úsqueeze)rÁ  Ú
parametersÚmodulerÊ  Úsingle_batch_inputs   &&&  r*   Úsingle_batch_reference_fnrÓ  /  sa   € ò ñ
 ' uÓ-ÐÜ1;Ð<NÔPU×P\ÑP\×1]Ò1]Ð,Ñ-ÐcuÐÜ	×	Õ	ÙÐ)Ñ*×2Ñ2°1Ó5÷ 
×	×	Ó	ús   ÁA#Á#A4	c                  ór=  € \         P                  ! 4        . \        4       N\        4       N\	        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\        4       N\!        4       N\#        4       N\%        4       N\'        4       N\)        4       N\+        4       N\-        4       N\/        4       N\1        4       N\3        4       N\5        4       N\7        4       N\9        4       N\;        4       N\=        4       N\?        4       N\A        4       N\C        4       N\E        4       N\G        4       N\I        4       N\K        4       N\M        4       N\O        4       N\Q        4       N\S        4       N\U        4       N\W        4       N\Y        4       N\[        4       N\]        4       N\_        4       N\a        4       N\c        4       N\e        4       N\g        4       N\i        R ER¦RER§RRR\j        Pl                  R7      N\i        R ER¨RER§RRRR\j        Pl                  R7	      N\i        R ER©RER§RR	RR
\j        Pl                  R7	      N\i        R ERªRER§RRRR\j        Pl                  R7	      N\i        R ER«RER¬RRRR\j        Pl                  R7	      N\i        R ER­RER¬RRRR\j        Pl                  R7	      N\i        R ER¦RER®RRRRR7      N\i        RR RER§RR\j        Pl                  R7      N\i        RR RER¯RRR\j        Pl                  R7      N\i        RR RER§RRR\j        Pl                  R7      N\i        RR R ER§RRR\j        Pl                  R7      N\i        R!R" R#ER§RRR\j        Pl                  R7      N\i        R$R% R&ER§RRR\j        Pl                  R7      N\i        R'R( R)RER°RR\j        Pl                  R*7      N\i        R'ER±R,ER²RR-RR\j        Pl                  R7	      N\i        R'ER³R.ER²RR/RR\j        Pl                  R7	      N\i        R0R1 R2RER´RR\j        Pl                  R*7      N\i        R3ERµR4ER¶RRRR\j        Pl                  R57	      N\i        R3ER¸R6ER¹RR7RRR\j        Pl                  R87
      N\i        R3ERºR9ER¹RR:RRR\j        Pl                  R87
      N\i        R3ER»R;ER¼RR/RRR\j        Pl                  R87
      N\i        R3ER½R<ER¾RR-RRR=\j        Pl                  R87
      N\i        R3ERµR4ER¿RRRRR>7      N\i        R?R@ RAERÀRRRR=\j        Pl                  RB7	      N\i        RCRD RAERÀRRR=\j        Pl                  RE7      N\i        RFRG RHERÁRRR\j        Pl                  R7      N\i        RIRJ RKERÁRRR
\j        Pl                  R7      N\i        RLRM RNERÁRRR
\j        Pl                  R7      N\i        ROERÂRPRERÃRRR
\j        Pl                  RQ7	      N\i        ROERÅRRERÆRR/RRR
\j        Pl                  R87
      N\i        ROERÇRSERÆRR-RRR
\j        Pl                  R87
      N\i        RTRU RVERÈRRRR
\j        Pl                  RB7	      N\i        RWRX RYERÉRR\j        Pl                  R7      N\i        RZR[ R\ERÉRR\j        Pl                  R7      N\i        R]R^ R_ERÉRR\j        Pl                  R7      N\i        R`Ra RbERÉRR\j        Pl                  R7      N\i        RcRd ReERÊRR\j        Pl                  R7      N\i        RfERËRgERÌRRRRh\j        Pl                  R57	      N\i        RfERÎRiERÏRR-RRRh\j        Pl                  R87
      N\i        RfERÐRiERÏRRjR+RRh\j        Pl                  R87
      N\i        RfERÑRkERÒRRRRRh\j        Pl                  R87
      N\i        RfERÓRlERÒRRmRRRh\j        Pl                  R87
      N\i        RfERÔRnERÕRRRRRo7      N\i        RpRq RrERÌRRRR\j        Pl                  RB7	      N\i        RsRt RuERÒRRh\j        Pl                  R7      N\i        RvRw RxERÒRRh\j        Pl                  R7      N\i        RyRz R{ERÖRRRh\j        Pl                  R7      N\i        R|R} R~ERÖRRRh\j        Pl                  R7      N\i        RR€ R�ERÖRRRh\j        Pl                  R7      N\i        R‚ERËRƒRERÌRRh\j        Pl                  R„7      N\i        R‚ER×R…RERÌR/RRh\j        Pl                  R†7	      N\i        R‡ERØRˆERÙ\j        Pl                  R‰7      N\i        R‡ERØRˆERÚ\n        RŠ\j        Pl                  R‹7      N\i        R‡ERØRˆRŒ RR�RŽ7      N\i        R�ERÛR�R‘ R+\j        Pl                  \q        R’4      R“7      N\i        R�ERÛR�R” R+R•\j        Pl                  \q        R’4      R–7      N\i        R—ERÛR˜R™ R+Rš\j        Pl                  R›7      N\i        R—ERÛR˜Rœ R+R•\j        Pl                  R›7      N\i        R—ERÜRŸR  R+Rž\j        Pl                  R›7      N\i        R—ERÝR¢R£ R+R¡\j        Pl                  R›7      N\i        R¤R¥ R¦R§ R+\j        Pl                  R¨7      N\i        R©Rª R«R¬ R+\j        Pl                  R¨7      N\i        R­R® R¯R° R+\j        Pl                  R¨7      N\i        R±R² R³R´ R+RRµ7      N\i        R¶ R·R¸ R¹R+RRº7      N\i        R»ERÞR¼ERß\j        Pl                  R‰7      N\i        R½ERÞR¾ERà\j        Pl                  R‰7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      RÁERáRÂR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      RÁERâRÄR+RÅ7      N\i        \s        \t        Pv                  ERãR�R¿RÀ7      RÁERäRÆR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇR¿RÀ7      RÈERáRÉR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�RÊR+RË7      RÌERáRÍR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ERåR�RÊR+RË7      RÎERäRÏR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇRÊR+RË7      RÐERáRÑR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�RÊR+RË7      RÌERâRÒR+RÅ7      N\i        \s        \t        Pv                  ^R�RÊRRË7      RÓERáRÔR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇRÊRRË7      RÕERáRÖR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      R×ERæRØR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      RÙERçRÚR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ERèR�R¿RÀ7      RÛERéRÜR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇR¿RÀ7      RÝERçRÞR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      RÙERêRßR+RÅ7      N\i        \s        \t        Pv                  ^R�RàR+RË7      RáERçRâR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�RàR+RË7      RáERêRãR+RÅ7      N\i        \s        \t        Pv                  ERëR�RàR+RË7      RäERìRåR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇRàR+RË7      RæERçRçR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERíRàR+RË7      RèERçRéR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERîRàR+RË7      RêERçRëR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ERëR�RàRRË7      RìERçRíR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERîRàRRË7      RîERçRïR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�RðR+RË7      RñERçRòR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�RðR+RË7      RñERêRóR+RÅ7      N\i        \s        \t        Pv                  ERëR�RðR+RË7      RôERìRõR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇRðR+RË7      RöERçR÷R+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERíRðR+RË7      RøERçRùR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERîRðR+RË7      RúERçRûR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ERëR�RðRRË7      RüERçRýR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERîRðRRË7      RþERçRÿR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      ER ERïERR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�R¿RÀ7      ER ERðERR+RÅ7      N\i        \s        \t        Pv                  ERñR�R¿RÀ7      ERERòERR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�RÇR¿RÀ7      ERERïERR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�ERR+RË7      ERERïER	R+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  ^R�ERR+RË7      ERERðER
R+RÅ7      N\i        \s        \t        Pv                  ERóR�ERR+RË7      ERERôERR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERERR+RË7      ERERÏERERR+\j        Pl                  ER7      N\i        \s        \t        Pv                  ERóR�ERRRË7      ERERôERR+\j        Pl                  RÃ7      N\i        \s        \t        Pv                  R�ERERRRË7      ERERòERERR+\j        Pl                  ER7      N\i        \s        \t        Px                  ERõER7      ERERöERR+\j        Pl                  RÃ7      N\i        \s        \t        Px                  ^\j        Pz                  ER7      ERERöERR+R+\j        Pl                  ER7      N\i        \s        \t        Px                  ^ER7      ERER÷ERR+\j        Pl                  RÃ7      N\i        \s        \t        Px                  ^ER7      ERERøERR+\j        Pl                  RÃ7      N\i        \s        \t        Px                  ^\j        Pz                  ER7      ERERøER R+R+\j        Pl                  ER7      N\i        \s        \t        Px                  ^ ER7      ER!ERùER"R+R+\j        Pl                  ER#7      N\i        \s        \t        Px                  ^ER7      ER$ERùER%R+R+\j        Pl                  ER#7      N\i        \s        \t        Px                  ERõER7      ERERúER&R+R+ER'7      N\i        \s        \t        P|                  ERõER7      ER(ERöER)R+\j        Pl                  RÃ7      N\i        \s        \t        P|                  ^ER7      ER*ER÷ER+R+\j        Pl                  RÃ7      N\i        \s        \t        P|                  ^ER7      ER*ERøER,R+\j        Pl                  RÃ7      N\i        \s        \t        P|                  ^ ER7      ER-ERùER.R+\j        Pl                  RÃ7      N\i        \s        \t        P|                  ^ER7      ER/ERùER0R+\j        Pl                  RÃ7      N\i        \s        \t        P|                  ^ ER7      ER-ERúER1R+RÅ7      N\i        ER2ER3 ER4ERûR+R\j        Pl                  ER57      N\i        ER6ER7 ER8ERüR+R\j        Pl                  ER57      N\i        ER9ER: ER8ERýR+\n        R\j        Pl                  ER;7      N\i        ER<ER= ER>ERûR+R\j        Pl                  ER57      N\i        ER?ER@ ERAERüR+R\j        Pl                  ER57      N\i        ERBERC ERAERý\n        R+R\j        Pl                  ERD7      N\i        EREERþERGERúERHR+\j        Pl                  ERI7      N\i        ERJERK \j        Pl                  ERL7      N\i        ERJERM ERN\j        Pl                  ERO7      N\i        ERJERP ERQ\j        Pl                  ERO7      N\i        ERJERÿERSERT ERU\j        Pl                  ERV7      N\i        ERJERW \n        RŠ\j        Pl                  ERX7      N\i        ERYER ER[ERÍER\RERFR+R+\j        Pl                  ER]7
      N\i        ERY^^^ERZ\t        P~                  3ER^ERÍR+ER_R\€        '       d   ER`MRh\j        Pl                  ERa7	      N\i        ERbERERcERd R+ER\RRh\j        Pl                  ERe7	      N\i        ERb^^^ERZ\t        P~                  3ERfERg R+ER_RRh\j        Pl                  ERe7	      N\i        ERh^^^^^ERZ\t        P‚                  3ERiERj R+ERkR\€        '       d   RhMERl\j        Pl                  ERe7	      N\i        ERmERERnERo ERp RŠRR\j        Pl                  ERq7	      N\i        ERrERsERER\n        RŠ\j        Pl                  ERt7      N\i        ERuERvER\j        P„                  ! ^^.4      3ER\n        RŠ\j        Pl                  ERt7      N\i        ERw. EROERRR+3ERxERRRRRERyERz7	      Np \‡        . ERO. ER	ORER|7       EF	  w  rERä Fü  pV^8X  d   VER{8X  d   K  \‰        \‹        ^V^,           4      4      pER}ER~P�                  \�        \�        V4      4      ,           ER,           pER·ERåV,          ,           pERÄ\ˆ        ;QJ d    . ER€ V 4       F  NK  	  5M! ER€ V 4       4      ,           pV P“                  \i        ER�V ER‚2^^^^V^^RV3	ERƒV ER„V ER…V ER†2VVRV ER‡2RRh\j        Pl                  ERˆ7
      4       Kþ  	  EK  	  . ER
Op/ ER”ER ERER¡\j        Pl                  /bERŸER ERî/bER‹ER¢R+ER£R+ER¡\j        Pl                  /bER�ER¢R+ER£R+ER¡\j        Pl                  /bEREER¤R+ER¡\j        Pl                  /bER‰ER¡\j        Pl                  /bER•ER¡\j        Pl                  /bER–ER¡\j        Pl                  /bERŠER¡\j        Pl                  /bERŒER¡\j        Pl                  /bERŽER¡\j        Pl                  /bER�ER¡\j        Pl                  /bER™ER¡\j        Pl                  /bER�ER¡\j        Pl                  /bER’ER¡\j        Pl                  /bER‘ER¡\j        Pl                  /bER“ER¡\j        Pl                  /bER˜ER¡\j        Pl                  /ER—ER¡\j        Pl                  /ERšER¡\j        Pl                  /ER›ER¡\j        Pl                  /ERœER¡\j        Pl                  /ER�ER¡\j        Pl                  /ERžER¡\j        Pl                  //Cp	V FM  p
\i        V
ERå\n        RŠR+ER¥7      pV	P•                  V
/ 4      pVP—                  V4       V P“                  V4       KO  	  V # (  ÚConv1dz!torch::nn::Conv1dOptions(4, 5, 3)Tr?   )r@   rA   rB   rC   ÚcudnnrE   rF   rG   z+torch::nn::Conv1dOptions(4, 5, 3).stride(2)Ústride)	r@   rA   rB   rC   rÖ  rK   rE   rF   rG   z6torch::nn::Conv1dOptions(4, 5, 3).stride(1).padding(1)Úpad1r>   z6torch::nn::Conv1dOptions(4, 5, 5).stride(1).padding(2)Úpad2z6torch::nn::Conv1dOptions(4, 4, 3).stride(1).padding(1)Ú	pad1size1z6torch::nn::Conv1dOptions(4, 4, 5).stride(1).padding(2)Ú	pad2size1Ú
zero_batch)r@   rA   rB   rC   rÖ  rK   rE   rF   ÚConv1d_dilatedc                  ó6   € \         P                  ! ^^^^R7      # )ri  ©Úkernel_sizeÚdilation©rt   rÕ  rd   r,   r*   r=   Ú&get_new_module_tests.<locals>.<lambda>Â  ó   € ¤§	¢	¨!¨Q¸AÈÕ Jr,   z-torch::nn::Conv1dOptions(4, 5, 3).dilation(2))r�   rŽ   rB   rC   rE   rF   rG   ÚConv1d_groupsc                  ó6   € \         P                  ! ^^^^R7      # )ri  ©rà  Úgroupsrâ  rd   r,   r*   r=   rã  Ë  ó   € ¤§	¢	¨!¨Q¸AÀaÕ Hr,   z+torch::nn::Conv1dOptions(4, 6, 3).groups(2))r�   rŽ   rB   rC   rÖ  rE   rF   rG   ÚConv1d_pad_validc                  ó6   € \         P                  ! ^^^RR7      # )ri  Úvalid©Úpaddingrâ  rd   r,   r*   r=   rã  Õ  s   € ¤§	¢	¨!¨Q°¸7Õ Cr,   z8torch::nn::Conv1dOptions(4, 5, 3).padding(torch::kValid)ÚConv1d_pad_samec                  ó6   € \         P                  ! ^^^RR7      # ©ri  Úsamerí  râ  rd   r,   r*   r=   rã  ß  ó   € ¤§	¢	¨!¨Q°¸6Õ Br,   z7torch::nn::Conv1dOptions(4, 5, 3).padding(torch::kSame)ÚConv1d_pad_same2c                  ó6   € \         P                  ! ^^^RR7      # rñ  râ  rd   r,   r*   r=   rã  é  ró  r,   z7torch::nn::Conv1dOptions(4, 5, 4).padding(torch::kSame)ÚConv1d_pad_same_dilatedc                  ó8   € \         P                  ! ^^^R^R7      # )ri  rò  ©rî  rá  râ  rd   r,   r*   r=   rã  ó  s   € ¤§	¢	¨!¨Q°¸6ÈAÕ Nr,   zCtorch::nn::Conv1dOptions(4, 5, 3).padding(torch::kSame).dilation(2)ÚConvTranspose1dc            	      ó:   € \         P                  ! ^^^R^RR7      # )rh  )rà  r×  rî  Úoutput_padding©rh  rS   ©rt   rù  rd   r,   r*   r=   rã  ý  s   € ¤× 2Ò 2°1°aÀQÈtÐ]^ÐosÕ tr,   zQtorch::nn::ConvTranspose1dOptions(3, 4, 3).stride(3).padding(1).output_padding(1))r�   rŽ   rB   rÖ  rC   rE   rF   rG   FzŒtorch::nn::ConvTranspose1dOptions(3, 4, 3)
                                    .stride(2).padding(1).output_padding(1).groups(1).bias(false)rH   z—torch::nn::ConvTranspose1dOptions(3, 4, 3)
                                    .stride(2).padding(1).output_padding(1).groups(1).bias(true).dilation(2)ÚdilatedÚConvTranspose1d_groupsc            
      ó<   € \         P                  ! ^^^R^R^R7      # )ri  )r×  rî  rû  rè  rü  rS   rý  rd   r,   r*   r=   rã    s   € ¤× 2Ò 2°1°a¸À4ÐQRÐcgÐpqÕ rr,   z€torch::nn::ConvTranspose1dOptions(4, 6, 3)
                                    .stride(3).padding(1).output_padding(1).groups(2)ÚConv2dz&torch::nn::Conv2dOptions(3, 4, {3, 2}))	r@   rA   rB   rC   rÖ  Úcheck_with_long_tensorrE   rF   rG   z5torch::nn::Conv2dOptions(3, 4, {3, 3}).stride({2, 2})Ústrided)
r@   rA   rB   rC   rÖ  rK   r  rE   rF   rG   zEtorch::nn::Conv2dOptions(3, 4, {3, 3}).stride({2, 2}).padding({1, 1})rî  zVtorch::nn::Conv2dOptions(3, 2, {3, 3}).stride({2, 2}).padding({1, 1}).dilation({2, 2})z‚torch::nn::Conv2dOptions(3, 4, {3, 2})
                                    .stride(1).padding(0).dilation(1).groups(1).bias(false)g¸…ëQ¸Ž?)r@   rA   rB   rC   rÖ  rK   r  rE   ÚConv2d_groupsc                  ó6   € \         P                  ! ^^R^R7      # ©ri  ©rè  ©rh  r4  ©rt   r  rd   r,   r*   r=   rã  p  ó   € ¤§	¢	¨!¨Q°¸qÕ Ar,   z0torch::nn::Conv2dOptions(4, 6, {3, 2}).groups(2))	r�   rŽ   rB   rC   rÖ  r  rE   rF   rG   ÚConv2d_groups_thnnc                  ó6   € \         P                  ! ^^R^R7      # r  r	  rd   r,   r*   r=   rã  {  r
  r,   )r�   rŽ   rB   rC   r  rE   rF   rG   ÚConv2d_pad_validc                  ó6   € \         P                  ! ^^RRR7      # )r4  rì  rí  ©rh  ri  r	  rd   r,   r*   r=   rã  …  s   € ¤§	¢	¨!¨Q°ÀÕ Hr,   z=torch::nn::Conv2dOptions(2, 4, {3, 4}).padding(torch::kValid)ÚConv2d_pad_samec                  ó6   € \         P                  ! ^^RRR7      # )r4  rò  rí  r  r	  rd   r,   r*   r=   rã  �  s   € ¤§	¢	¨!¨Q°ÀÕ Gr,   z<torch::nn::Conv2dOptions(2, 4, {3, 4}).padding(torch::kSame)ÚConv2d_pad_same_dilatedc                  ó8   € \         P                  ! ^^RR^R7      # )r4  rò  rø  r  r	  rd   r,   r*   r=   rã  ™  s   € ¤§	¢	¨!¨Q°ÀÐQRÕ Sr,   zHtorch::nn::Conv2dOptions(2, 4, {3, 4}).padding(torch::kSame).dilation(2)ÚConvTranspose2dz€torch::nn::ConvTranspose2dOptions(3, 4, 3)
                                    .stride({3, 2}).padding(1).output_padding({1, 1}))	r@   rA   rB   rÖ  rC   r  rE   rF   rG   a`  torch::nn::ConvTranspose2dOptions(3, 4, 3)
                                    .stride({2, 3})
                                    .padding(1)
                                    .output_padding({1, 1})
                                    .groups(1)
                                    .bias(false)
                                    .dilation({2, 2})z–torch::nn::ConvTranspose2dOptions(3, 4, 3)
                                    .stride({2, 3}).padding(1).output_padding({1, 1}).groups(1).bias(false)ÚConvTranspose2d_groupsc                  ó6   € \         P                  ! ^^R^R7      # )r4  r  ©r4  rh  )rt   r  rd   r,   r*   r=   rã  Î  s   € ¤× 2Ò 2°1°a¸ÈÕ Jr,   z9torch::nn::ConvTranspose2dOptions(2, 4, {2, 3}).groups(2)ÚConv2d_depthwisec                  ó6   € \         P                  ! ^^R^R7      # ©ri  r  ©rh  rh  r	  rd   r,   r*   r=   rã  Ù  r
  r,   z0torch::nn::Conv2dOptions(4, 4, {3, 3}).groups(4)Ú Conv2d_depthwise_with_multiplierc                  ó6   € \         P                  ! ^^R^R7      # r  r	  rd   r,   r*   r=   rã  â  r
  r,   z0torch::nn::Conv2dOptions(4, 8, {3, 3}).groups(4)ÚConv2d_depthwise_stridedc                  ó8   € \         P                  ! ^^RR^R7      # )ri  )r×  rè  r  ©r4  r4  r	  rd   r,   r*   r=   rã  ë  s   € ¤§	¢	¨!¨Q°¸vÈaÕ Pr,   z?torch::nn::Conv2dOptions(4, 4, {3, 3}).stride({2, 2}).groups(4)ÚConv2d_depthwise_paddedc                  ó8   € \         P                  ! ^^RR^R7      # )ri  )rî  rè  r  ©rT   rT   r	  rd   r,   r*   r=   rã  ô  s   € ¤§	¢	¨!¨Q°ÀÈqÕ Qr,   z@torch::nn::Conv2dOptions(4, 4, {3, 3}).padding({1, 1}).groups(4)ÚConv2d_depthwise_dilatedc                  ó8   € \         P                  ! ^^RR^R7      # )ri  )rá  rè  r   r	  rd   r,   r*   r=   rã  ý  s   € ¤§	¢	¨!¨Q°ÀÐPQÕ Rr,   zAtorch::nn::Conv2dOptions(4, 4, {2, 2}).dilation({2, 2}).groups(4)ÚConv3dz)torch::nn::Conv3dOptions(2, 3, {2, 3, 2})gš™™™™™©?z…torch::nn::Conv3dOptions(2, 3, {2, 3, 4})
                                    .stride(1).padding(0).dilation(1).groups(1).bias(false)Ú1x1x1_no_biasz+torch::nn::Conv3dOptions(3, 4, 2).stride(2)z6torch::nn::Conv3dOptions(3, 4, 2).stride(2).padding(1)Ústride_paddingz)torch::nn::Conv3dOptions(3, 4, {2, 3, 4}))r@   rA   rB   rC   rÖ  r  rK   rE   ÚConv3d_groupsc                  ó6   € \         P                  ! ^^^^R7      # )r4  rç  ©rt   r&  rd   r,   r*   r=   rã  M  ré  r,   z+torch::nn::Conv3dOptions(2, 4, 3).groups(2)ÚConv3d_dilatedc                  ó6   € \         P                  ! ^^^^R7      # )rh  rß  r+  rd   r,   r*   r=   rã  X  rä  r,   z-torch::nn::Conv3dOptions(3, 4, 2).dilation(2)ÚConv3d_dilated_stridedc                  ó8   € \         P                  ! ^^^^^R7      # )rh  )rà  rá  r×  r+  rd   r,   r*   r=   rã  a  s   € ¤§	¢	¨!¨Q¸AÈÐRSÕ Tr,   z7torch::nn::Conv3dOptions(3, 4, 2).dilation(2).stride(2)ÚConv3d_pad_validc                  ó6   € \         P                  ! ^^RRR7      # )rh  rì  rí  ©r4  rh  ri  r+  rd   r,   r*   r=   rã  j  s   € ¤§	¢	¨!¨Q°	À7Õ Kr,   z@torch::nn::Conv3dOptions(3, 4, {2, 3, 4}).padding(torch::kValid)ÚConv3d_pad_samec                  ó6   € \         P                  ! ^^RRR7      # )rh  rò  rí  r2  r+  rd   r,   r*   r=   rã  t  s   € ¤§	¢	¨!¨Q°	À6Õ Jr,   z?torch::nn::Conv3dOptions(3, 4, {2, 3, 4}).padding(torch::kSame)ÚConv3d_pad_same_dilatedc                  ó8   € \         P                  ! ^^RR^R7      # )rh  rò  rø  r2  r+  rd   r,   r*   r=   rã  ~  s   € ¤§	¢	¨!¨Q°	À6ÐTUÕ Vr,   zKtorch::nn::Conv3dOptions(3, 4, {2, 3, 4}).padding(torch::kSame).dilation(2)ÚConvTranspose3dz2torch::nn::ConvTranspose3dOptions(2, 3, {2, 3, 2}))r@   rA   rB   rÖ  rC   rE   rF   rG   z§torch::nn::ConvTranspose3dOptions(2, 3, {2, 3, 2})
                                    .stride(1).padding(0).output_padding(0).groups(1).bias(true).dilation({2, 2, 2}))	r@   rA   rB   rÖ  rC   rK   rE   rF   rG   ÚReplicationPad3dz6torch::nn::ReplicationPad3dOptions({1, 2, 3, 3, 2, 1}))r@   rA   rB   rC   rG   Úno_batch_dim)r@   rA   rB   rC   rD   rK   rG   c            
      óX   € \         P                  ! ^^^^^\         P                  RR7      # )r4  T)r¼   Úrequires_grad)r4   r‡   Ú
complex128rd   r,   r*   r=   rã  °  s    € œUŸZšZ¨¨1¨a°°A¼U×=MÑ=MÐ]aÕbr,   Úcomplex)r@   rA   rB   r�   Ú	skip_halfrK   Ú	Embeddingz!torch::nn::EmbeddingOptions(4, 3)c                  ón   € \         P                  ! ^^\         P                  R7      P                  ^4      # rK  ©r4   r‡  ry  Úrandom_rd   r,   r*   r=   rã  ¸  ó    € œUŸ[š[¨¨A´U·Z±ZÔ@×HÑHÈÔKr,   z0https://github.com/pytorch/pytorch/issues/117971)r@   rA   rB   r�   rW   rG   Ú	decoratorc                  óŽ   € \         P                  ! ^R\         P                  R7      P                  ^4      P	                  ^R4      # ©rT   i   r»   ©r4   r‡  ry  rB  r8   rd   r,   r*   r=   rã  Á  ó/   € œUŸ[š[¨¨C´u·z±zÔB×JÑJÈ1ÓM×TÑTÐUVÐX[Ô\r,   Údiscontiguous)r@   rA   rB   r�   rW   rK   rG   rD  ÚEmbeddingBagz$torch::nn::EmbeddingBagOptions(4, 3)c                  ón   € \         P                  ! ^^\         P                  R7      P                  ^4      # rK  rA  rd   r,   r*   r=   rã  Ë  rC  r,   Úmean)r@   rA   rB   r�   rW   rK   rG   c                  óŽ   € \         P                  ! ^R\         P                  R7      P                  ^4      P	                  ^R4      # rF  rG  rd   r,   r*   r=   rã  Ô  rH  r,   Nrƒ  zštorch::nn::EmbeddingBagOptions(4, 3)
                                    .max_norm(std::nullopt).norm_type(2.).scale_grad_by_freq(false).mode(torch::kSum)c                  ón   € \         P                  ! ^^\         P                  R7      P                  ^4      # rK  rA  rd   r,   r*   r=   rã  Þ  rC  r,   Úmaxzštorch::nn::EmbeddingBagOptions(4, 3)
                                    .max_norm(std::nullopt).norm_type(2.).scale_grad_by_freq(false).mode(torch::kMax)c                  ón   € \         P                  ! ^^\         P                  R7      P                  ^4      # rK  rA  rd   r,   r*   r=   rã  è  rC  r,   ÚEmbeddingBag_mean_padding_idxc                  ó4   € \         P                  ! ^^^R7      # )ri  ©Úpadding_idx©rt   rJ  rd   r,   r*   r=   rã  ï  s   € ¤§¢°°1À!Õ Dr,   z3torch::nn::EmbeddingBagOptions(4, 3).padding_idx(1)c                  ó‚   € \         P                  ! \         P                  ! ^4      \         P                  ! ^4      .4      # rü  ©r4   ÚstackrZ   rd   r,   r*   r=   rã  ñ  ó$   € œUŸ[š[¬%¯.ª.¸Ó*;¼U¿^º^ÈAÓ=NÐ)OÔPr,   )r�   rŽ   rB   r�   rW   rG   ÚEmbeddingBag_sum_padding_idxc            
      ó<   € \         P                  ! ^^RRRR^R7      # )ri  Nç       @Frƒ  rS  rU  rd   r,   r*   r=   rã  ÷  ó   € ¤§¢°°1°d¸BÀÀuÐZ[Õ \r,   z©torch::nn::EmbeddingBagOptions(4, 3)
                                    .max_norm(std::nullopt).norm_type(2.).scale_grad_by_freq(false).mode(torch::kSum).padding_idx(1)c                  ó‚   € \         P                  ! \         P                  ! ^4      \         P                  ! ^4      .4      # rü  rW  rd   r,   r*   r=   rã  ú  rY  r,   ÚEmbeddingBag_max_padding_idxc            
      ó<   € \         P                  ! ^^RRRR^R7      # )ri  Nr\  FrO  rS  rU  rd   r,   r*   r=   rã     r]  r,   z©torch::nn::EmbeddingBagOptions(4, 3)
                                    .max_norm(std::nullopt).norm_type(2.).scale_grad_by_freq(false).mode(torch::kMax).padding_idx(1)c                  ó‚   € \         P                  ! \         P                  ! ^4      \         P                  ! ^4      .4      # rü  rW  rd   r,   r*   r=   rã    rY  r,   ÚEmbeddingBag_sparsec                  óR   € \         P                  ! ^^R\        P                  R7      # )ri  T)Úsparser¼   )rt   rJ  r4   r[   rd   r,   r*   r=   rã  	  s   € ¤§¢°°1¸TÌÏÉÕ Vr,   z‡torch::nn::EmbeddingBagOptions(4, 3)
                                    .sparse(true)._weight(torch::rand({4, 3}).to(torch::kFloat64))c                  óN   € \         P                  ! ^4      P                  ^^4      # r=  ©r4   rZ   Úrepeatrd   r,   r*   r=   rã    ó   € œUŸ^š^¨AÓ.×5Ñ5°a¸Ô;r,   )r�   rŽ   rB   r�   rW   Úhas_sparse_gradientsc                  óR   € \         P                  ! ^^\        P                  RR7      # )ri  T)r¼   rd  )rt   r?  r4   r[   rd   r,   r*   r=   rã    s   € ¤§¢¨Q°¼¿¹ÈdÕ Sr,   z_torch::nn::EmbeddingOptions(4, 3).sparse(true)._weight(torch::rand({4, 3}).to(torch::kFloat64))c                  óN   € \         P                  ! ^4      P                  ^^4      # r=  rf  rd   r,   r*   r=   rã    rh  r,   ÚEmbedding_sparse)rŽ   rB   r�   r�   rW   ri  ÚPixelShufflez!torch::nn::PixelShuffleOptions(3)ÚPixelUnshufflez#torch::nn::PixelUnshuffleOptions(3)Únearest)r\   Úscale_factorÚmodezŽF::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12})).scale_factor(std::nullopt).mode(torch::kNearest)Úinterpolate_nearest_1d)rŽ   Úcpp_options_argsrC   r�   r’   rG   Úinterpolate_nearest_1d_zero_dim)rŽ   rs  rC   r�   r’   Úinterpolate_nearest_tuple_1dg      @z�F::InterpolateFuncOptions()
                                .size(std::nullopt).scale_factor(std::vector<double>({4.})).mode(torch::kNearest)Úinterpolate_nearest_scale_1dÚlinear)r\   rp  rq  Úalign_cornersa  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kLinear)
                                .align_corners(false)Úinterpolate_linear_1da  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kLinear)
                                .align_corners(false)Úinterpolate_linear_tuple_1da  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({4.}))
                                .mode(torch::kLinear)
                                .align_corners(false)Úinterpolate_linear_scale_1dÚinterpolate_linear_1d_zero_dima  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kLinear)
                                .align_corners(true)Ú#interpolate_linear_1d_align_cornersa  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({4.}))
                                .mode(torch::kLinear)
                                .align_corners(true)Ú)interpolate_linear_scale_1d_align_cornerszÒF::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({2, 2}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kNearest)Ú%interpolate_nearest_2d_launch_configszÔF::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kNearest)Úinterpolate_nearest_2dzÔF::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 16}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kNearest)Úinterpolate_nearest_tuple_2dzÓF::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({4., 4.}))
                                .mode(torch::kNearest)Úinterpolate_nearest_scale_2dÚinterpolate_nearest_2d_zero_dimÚbilineara  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kBilinear)
                                .align_corners(false)Úinterpolate_bilinear_2dÚ interpolate_bilinear_2d_zero_dima	  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4, 6}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kBilinear)
                                .align_corners(false)Úinterpolate_bilinear_tuple_2da
  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({4., 4.}))
                                .mode(torch::kBilinear)
                                .align_corners(false)Úinterpolate_bilinear_scale_2da
  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({2., 2.}))
                                .mode(torch::kBilinear)
                                .align_corners(false)Ú*interpolate_bilinear_scale_tuple_shared_2da
  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({2., 1.}))
                                .mode(torch::kBilinear)
                                .align_corners(false)Ú*interpolate_bilinear_scale_tuple_skewed_2da  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4, 6}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kBilinear)
                                .align_corners(true)Ú+interpolate_bilinear_tuple_2d_align_cornersa	  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({2., 1.}))
                                .mode(torch::kBilinear)
                                .align_corners(true)Ú8interpolate_bilinear_scale_tuple_skewed_2d_align_cornersÚbicubica
  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kBicubic)
                                .align_corners(false)Úinterpolate_bicubic_2dÚinterpolate_bicubic_2d_zero_dima  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4, 6}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kBicubic)
                                .align_corners(false)Úinterpolate_bicubic_tuple_2da	  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({4., 4.}))
                                .mode(torch::kBicubic)
                                .align_corners(false)Úinterpolate_bicubic_scale_2da	  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({2., 2.}))
                                .mode(torch::kBicubic)
                                .align_corners(false)Ú)interpolate_bicubic_scale_tuple_shared_2da	  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({2., 1.}))
                                .mode(torch::kBicubic)
                                .align_corners(false)Ú)interpolate_bicubic_scale_tuple_skewed_2da  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4, 6}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kBicubic)
                                .align_corners(true)Ú*interpolate_bicubic_tuple_2d_align_cornersa  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({2., 1.}))
                                .mode(torch::kBicubic)
                                .align_corners(true)Ú7interpolate_bicubic_scale_tuple_skewed_2d_align_cornerszØF::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 12, 12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kNearest)Úinterpolate_nearest_3dÚinterpolate_nearest_3d_zero_dimzØF::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 16, 16}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kNearest)Úinterpolate_nearest_tuple_3dz×F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({4., 4., 4.}))
                                .mode(torch::kNearest)Úinterpolate_nearest_scale_3dÚ	trilineara  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({12, 12, 12}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kTrilinear)
                                .align_corners(false)Úinterpolate_trilinear_3dÚ!interpolate_trilinear_3d_zero_dima  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4, 6, 6}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kTrilinear)
                                .align_corners(false)Úinterpolate_trilinear_tuple_3dg      @a  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({3., 3., 3.}))
                                .mode(torch::kTrilinear)
                                .align_corners(false)Úinterpolate_trilinear_scale_3drÆ   )rŽ   rs  rC   r�   r­   r’   rG   a  F::InterpolateFuncOptions()
                                .size(std::vector<int64_t>({4, 6, 6}))
                                .scale_factor(std::nullopt)
                                .mode(torch::kTrilinear)
                                .align_corners(true)Ú,interpolate_trilinear_tuple_3d_align_cornersa  F::InterpolateFuncOptions()
                                .size(std::nullopt)
                                .scale_factor(std::vector<double>({3., 3., 3.}))
                                .mode(torch::kTrilinear)
                                .align_corners(true)Ú,interpolate_trilinear_scale_3d_align_cornersr€  zF::SoftmaxFuncOptions(-1)Úsoftmax_lastdim)r�  r¼   z/F::SoftmaxFuncOptions(1).dtype(torch::kFloat64)Úsoftmax_lastdim_dtype)rŽ   rs  rC   r�   r’   rM   rG   zF::SoftmaxFuncOptions(1)Úsoftmax_spatial_specialÚsoftmax_spatialÚsoftmax_spatial_dtypezF::SoftmaxFuncOptions(0)Úsoftmax_functional_dim0)rŽ   rs  rC   r�   rM   r’   rG   zF::SoftmaxFuncOptions(3)Úsoftmax_functional_dim3Úsoftmax_functional_scalar)rŽ   rs  rC   r�   rM   r’   zF::LogSoftmaxFuncOptions(-1)Úlog_softmax_lastdimzF::LogSoftmaxFuncOptions(1)Úlog_softmax_spatial_specialÚlog_softmax_spatialzF::LogSoftmaxFuncOptions(0)Úlog_softmax_dim0zF::LogSoftmaxFuncOptions(3)Úlog_softmax_dim3Úlog_softmax_scalarÚUnfoldc                  ó4   € \         P                  ! RRRR4      # )r4  r   r#  ©r   r   ©rt   r¯  rd   r,   r*   r=   rã  z	  s   € ¤§	¢	¨&°&¸&À&Ô Ir,   zPtorch::nn::UnfoldOptions({2, 2}).dilation({1, 1}).padding({0, 0}).stride({1, 1}))r�   rŽ   rB   rC   rW   rM   rG   ÚFoldc                  ó6   € \         P                  ! RRRRR4      # ©rh  r  r   r#  r±  ©rt   r³  rd   r,   r*   r=   rã  ƒ	  ó   € ¤§¢¨°¸ÀÈÔ Or,   zVtorch::nn::FoldOptions({3, 3}, {2, 2}).dilation({1, 1}).padding({0, 0}).stride({1, 1})ÚFold_no_batch_dim_inputc                  ó6   € \         P                  ! RRRRR4      # rµ  r¶  rd   r,   r*   r=   rã  Œ	  r·  r,   )r�   rŽ   rB   rC   rW   ÚrefrM   rG   ÚUnfold_int_inputc                  ó4   € \         P                  ! ^^^ ^4      # r=  r²  rd   r,   r*   r=   rã  –	  s   € ¤§	¢	¨!¨Q°°1Ô 5r,   z<torch::nn::UnfoldOptions(2).dilation(1).padding(0).stride(1)ÚFold_int_inputc                  ó6   € \         P                  ! ^^^^ ^4      # rü  r¶  rd   r,   r*   r=   rã  Ÿ	  ó   € ¤§¢¨¨1¨a°°AÔ 6r,   z=torch::nn::FoldOptions(3, 2).dilation(1).padding(0).stride(1)ÚFold_no_batch_dim_int_inputc                  ó6   € \         P                  ! ^^^^ ^4      # rü  r¶  rd   r,   r*   r=   rã  ¨	  r¿  r,   )r�   rŽ   rB   rC   rº  rW   rM   rG   rL   çš™™™™™¹?rN   Úwith_up_down_scalarrP   ÚPairwiseDistancec                  ó^   € \         P                  ! ^
^4      \         P                  ! ^
^4      3# r…   r>  rd   r,   r*   r=   rã  »	  ó   € œeŸkšk¨"¨aÓ0´%·+²+¸bÀ!Ó2DÑEr,   )r@   r�   rG   c                  ó^   € \         P                  ! ^
^4      \         P                  ! ^
^4      3# r…   r>  rd   r,   r*   r=   rã  À	  rÆ  r,   Úbroadcast_lhs)r@   r�   rK   rG   c                  ó^   € \         P                  ! ^
^4      \         P                  ! ^^4      3# r…   r>  rd   r,   r*   r=   rã  Æ	  s   € œeŸkšk¨"¨aÓ0´%·+²+¸aÀÓ2CÑDr,   Úbroadcast_rhsr   zDtorch::nn::PairwiseDistanceOptions().p(1.5).eps(1e-05).keepdim(true)c                  ó^   € \         P                  ! ^
^4      \         P                  ! ^
^4      3# r…   r>  rd   r,   r*   r=   rã  Î	  rÆ  r,   Úwith_non_default_args)r@   rA   rB   r�   rK   rG   c                  óZ   € \         P                  ! ^4      \         P                  ! ^4      3# )r¤  r>  rd   r,   r*   r=   rã  Ô	  s   € œeŸkšk¨!›n¬e¯kªk¸!«nÑ=r,   )r@   r�   rD   rK   rG   ÚTransformerEncoderLayerç        zštorch::nn::TransformerEncoderLayerOptions(4, 2)
                                    .dim_feedforward(16)
                                    .dropout(0.0)Úrelu_activation)
r@   rA   rB   rC   rK   rE   rF   rX   rW   rG   z×torch::nn::TransformerEncoderLayerOptions(4, 2)
                                    .dim_feedforward(8)
                                    .dropout(0.0)
                                    .activation(torch::kGELU)Úgelu_activationg{®Gáz´?)	r@   rA   rB   rC   rW   rK   rE   rF   rG   ÚTransformerDecoderLayerz™torch::nn::TransformerDecoderLayerOptions(4, 2)
                                    .dim_feedforward(8)
                                    .dropout(0.0)c                  ób   € \         P                  ! ^^^4      \         P                  ! ^^^4      3# rü  r†   rd   r,   r*   r=   rã  þ	  ó#   € œeŸjšj¨¨A¨qÓ1´5·:²:¸aÀÀAÓ3FÑGr,   )	r@   rA   rB   r�   rW   rK   rE   rF   rG   z×torch::nn::TransformerDecoderLayerOptions(4, 2)
                                    .dim_feedforward(8)
                                    .dropout(0.0)
                                    .activation(torch::kGELU)c                  ób   € \         P                  ! ^^^4      \         P                  ! ^^^4      3# rü  r†   rd   r,   r*   r=   rã  
  rÔ  r,   ÚTransformera›  torch::nn::TransformerOptions()
                                    .d_model(4)
                                    .nhead(2)
                                    .num_encoder_layers(2)
                                    .num_decoder_layers(2)
                                    .dim_feedforward(8)
                                    .dropout(0.0)
                                    .activation(torch::kReLU)c                  óŽ   € \         P                  ! ^^^4      \         P                  ! ^^^4      \         P                  ! ^^4      3# rü  r†   rd   r,   r*   r=   rã  
  s2   € œeŸjšj¨¨A¨qÓ1´5·:²:¸aÀÀAÓ3FÌÏ
Ê
ÐSTÐVWÓHXÑYr,   Úmultilayer_coderg¸…ëQ¸ž?r1   ztorch::nn::LinearOptions(3, 5)c                  ó.   € \         P                  ! ^4      # rü  r†   rd   r,   r*   r=   rã  )
  s   € œUŸZšZ¨œ]r,   c                 ó´   € \         P                  ! V P                  ^R4      V^ ,          P                  4       4      P                  R4      V^,          ,           # )rT   r3   )r4   r5   r7   r6   r9   s   &&&r*   r=   rã  *
  s;   € ¬¯ª°!·&±&¸¸B³-ÀÀ1ÅÇÁÃÓ)J×)OÑ)OÐPRÓ)SÐVWÐXYÕVZÖ)Zr,   )	r@   rA   rB   r�   rD   rK   rE   rF   rG   rQ   z5torch::nn::FlattenOptions().start_dim(-3).end_dim(-1))r@   rB   rA   rC   rD   rK   rG   Ú	Unflattenz'torch::nn::UnflattenOptions(-2, {2, 2})Ú	LayerNormzMtorch::nn::LayerNormOptions({56, 56, 56}).eps(1e-5).elementwise_affine(false)Ú3d_no_affine_large_feature)	r@   rA   rB   rC   rÖ  Ú
check_evalÚgradcheck_fast_modeÚ
check_halfrK   Úreflect©ÚstrictÚ{z, Ú}c              3   ó2   "  € T F  q^,           x € K  	  R# 5i©rT   Nrd   ©Ú.0r;   s   & r*   Ú	<genexpr>Ú'get_new_module_tests.<locals>.<genexpr>_
  s   é € Ð(@¹°1¨Q¯ª»ùs   ‚ÚConvÚdztorch::nn::Convz~dOptions(2, 3, 3)
                                            .stride(2)
                                            .padding(zä)
                                            .dilation(1)
                                            .groups(1)
                                            .bias(true)
                                            .padding_mode(Ú)Ú_stride2_pad2)
r@   rA   rB   rC   Úoutput_sizerÖ  rK   rE   rF   rG   ÚELUÚ
HardshrinkÚHardsigmoidÚHardtanhÚ	HardswishÚ	LeakyReLUÚ
LogSigmoidÚPReLUÚReLUÚReLU6ÚSELUÚCELUÚGELUÚGLUrß   ÚSiLUÚMishÚSoftplusÚ
SoftshrinkÚSoftsignÚTanhÚ
TanhshrinkÚ	ThresholdrA   rG   rW   Ú	check_jitrM   )r@   rC   rD   rK   Útest_cpp_api_parity)ri  rj  rh  )r4  ri  rx   )ri  rj  rh  r4  )ri  rj  rh  rT   rT   )ri  rj  rj  rT   r4  )ri  ri  rh  rT   rT   )rT   ri  rT   )ri  ri  rj  rT   r4  )r   ri  rx   )r4  ri  é   )rT   rh  é   )rh  ri  rh  r4  rT   rT   rT   F)rT   rh  r	  )	rh  ri  rh  r4  rT   rT   rT   Tr4  )r4  ri  r
  )rh  ri  r  )r4  rh  r
  rj  r   )rh  ri  r  r   ©r4  rh  r	  r	  )rh  ri  r  r   r#  )rh  r4  r  r   r#  r   )r4  rh  r¤  r¤  )rh  ri  r  rT   r   rT   rT   F)r4  rh  r	  rj  )r   rh  r
  rj  )r4  ri  r	  rj  )r4  r4  r	  rj  )rh  ri  rh  r  rT   r#  )rT   rh  r
  r	  r  )	rh  ri  rh  r  rT   r#  rT   Fr   )rT   rh  r	  r
  )rh  ri  rh  r  rT   r#  rT   F)rT   r4  ri  rj  )r4  ri  r	  r	  )r4  ri  rj  rj  )r4  rh  ©r4  rh  r4  )rT   r4  ri  rj  ri  r2  )r4  rh  r2  rT   r   rT   rT   F)rT   r4  rh  ri  rj  )r4  rh  )rT   rT   rT   rT   r   rT   rT   F)rh  ri  r4  r4  )r4  rh  rj  rj  rj  )rh  ri  r4  r4  rT   )rh  ri  r2  )r   rh  rh  ri  rj  )r4  rh  r	  rj  ri  )	r4  rh  r  rT   r   r   rT   T)r4  r4  r4  ))rT   r4  rh  rh  r4  rT   )r4  rh  r4  r4  r4  )rh  r4  r4  r4  )ri  rh  )ri  rh  Nr\  Frƒ  )ri  rh  Nr\  FrO  rü  )rT   é	   ri  ri  )rT   rT   é   r  )rT   r4  ri  )r   r4  ri  )r  )rT   r4  rh  )ri  )rT   é€   rT   rT   )rT   r4  ri  ri  )r  é   )rT   r4  rh  ri  )r   r4  ri  ri  )ri  r	  )rT   r4  r4  rh  )r\  r\  )r\  ç      ð?)rT   r4  ri  ri  ri  )r   r4  ri  ri  ri  )r  r  r  )rT   r4  rh  ri  ri  )ri  r	  r	  )rT   r4  r4  rh  rh  r3   )r4  r  )r4  r  r4  r4  )r4  r4  ri  ri  rg  rd   )r4  ri  rh  rh  )r4  r  ri  )r  ri  ©rÂ  gÍÌÌÌÌÌì?)g      ø?r   T)ri  r4  r  rÏ  )ri  r4  r¤  rÏ  )rh  rj  )éýÿÿÿr3   )rh  ri  rj  éþÿÿÿ)é8   r  r  )ri  r  r  r  )rá  ÚcircularÚ	replicater9  )ztorch::kReflectztorch::kCircularztorch::kReplicateztorch::kZeros)rñ  rò  ró  rô  rõ  rö  r÷  rø  rù  rú  rL   rû  rü  rý  rþ  rß   rÿ  r   r  r  r  r  r  r  )r\  )Lr
   Úset_rng_seedr—   r°   rÈ   rá   ré   r¹   rÐ   rð   r  r  r  r$  r+  r2  rE  rN  rV  rl  rr  r‹  r™  r¯  r¹  rÂ  rÎ  rà  rÖ  rè  rø  rï  r  r  r  r  r)  r:  rB  rN  rU  rc  rm  rv  r…  rŒ  r›  r¢  rª  r²  r¹  rÀ  r•   r4   r[   rÓ  r   rv   r~   ÚinterpolateÚsoftmaxÚfloat64Úlog_softmaxÚgelur   ÚreluÚSizeÚziprÆ  ÚrangeÚjoinÚmapr”  ÚappendÚgetÚupdate)Únew_module_testsÚpadding_modeÚcpp_padding_moderí  rî  Úcpp_paddingrC   rð  Únon_linear_activations_no_batchÚ!non_linear_activations_extra_infoÚnon_linear_activationÚactivation_test_infoÚ
extra_infos                r*   Úget_new_module_testsr0  @  sb#  € Ü×ÒÔðKÜ%Ó'ðKäÓ ðKô 	'Ó(ðKô 	+Ó,ð	Kô
 	)Ó*ðKô 	&Ó'ðKô 	.Ó/ðKô 	0Ó1ðKô 	-Ó.ðKô 	!Ó"ðKô 	(Ó)ðKô 	1Ó2ðKô 	,Ó-ðKô 	3Ó4ðKô 	ÓðKô  	&Ó'ð!Kô" 	%Ó&ð#Kô$ 	Ó ð%Kô& 	&Ó'ð'Kô( 	Ó ð)Kô* 	,Ó-ð+Kô, 	'Ó(ð-Kô. 	4Ó5ð/Kô0 	8Ó9ð1Kô2 	!Ó"ð3Kô4 	)Ó*ð5Kô6 	.Ó/ð7Kô8 	!Ó"ð9Kô: 	)Ó*ð;Kô< 	.Ó/ð=Kô> 	$Ó%ð?Kô@ 	+Ó,ðAKôB 	Ó ðCKôD 	$Ó%ðEKôF 	ÓðGKôH 	/Ó0ðIKôJ 	/Ó0ðKKôL 	,Ó-ðMKôN 	,Ó-ðOKôP 	*Ó+ðQKôR 	1Ó2ðSKôT 	&Ó'ðUKôV 	0Ó1ðWKôX 	8Ó9ðYKôZ 	'Ó(ð[Kô\ 	*Ó+ð]Kô^ 	:Ó;ð_Kô` 	)Ó*ðaKôb 	.Ó/ðcKôd 	/Ó0ðeKôf 	Ø Ù&Ø!DÙ!ØØØ ÜŸ,™,ô		
ðgKôz 	Ø Ù)Ø!NÙ!ØØØØ ÜŸ,™,ô
	
ð{KôP 	Ø Ù,Ø!YÙ!ØØØØÜŸ,™,ô
	
ðQKôf 	Ø Ù,Ø!YÙ!ØØØØ ÜŸ,™,ô
	
ðgKô| 	Ø Ù,Ø!YÙ ØØØØ ÜŸ,™,ô
	
ð}KôR 	Ø Ù,Ø!YÙ ØØØØ ÜŸ,™,ô
	
ðSKôh 	Ø Ù&Ø!DÙ!ØØØØ ô		
ðiKô| 	Ø%ÙJØ!PÙ!ØØ ÜŸ,™,ô	
ð}KôN 	Ø$ÙHØ!NÙ ØØØ ÜŸ,™,ô		
ðOKôb 	Ø'ÙCØ![Ù!ØØØ ÜŸ,™,ô		
ðcKôv 	Ø&ÙBØ!ZÙ!ØØØ ÜŸ,™,ô		
ðwKôJ 	Ø'ÙBØ!ZÙ!ØØØ ÜŸ,™,ô		
ðKKô^ 	Ø.ÙNØ!fÙ!ØØØ ÜŸ,™,ô		
ð_Kôr 	Ø&ÙtØ!tØÙ ØØ ÜŸ,™,ô		
ðsKôF 	Ø)Ù9ð"eá ØØØØ ÜŸ,™,ô	
ðGKô^ 	Ø)Ù;ð"pá ØØØØ ÜŸ,™,ô	
ð_Kôv 	Ø-Ùrð"YàÙ ØØ ÜŸ,™,ô
	
ðwKôL 	Ø Ù+Ø!IÙ#ØØ#'ØØ ÜŸ,™,ô
	
ðMKôb 	Ø Ù3Ø!XÙ#ØØØ#'ØØ ÜŸ,™,ô	
ðcKôz 	Ø Ù;Ø!hÙ#ØØØ#'ØØ ÜŸ,™,ô	
ð{KôR 	Ø ÙCØ!yÙ#ØØØ#'ØØ ÜŸ,™,ô	
ðSKôj 	Ø Ù>ð"_á#ØØØ#'ØØ ÜŸ,™,ô	
ðkKôD	 	Ø Ù+Ø!IÙ#ØØØ#'Øô		
ðE	KôX	 	Ø$ÙAØ!SÙ#ØØ#'ØØ ÜŸ,™,ô
	
ðY	Kôn	 	Ø)ÙAØ!SÙ#Ø#'ØØ ÜŸ,™,ô		
ðo	KôB
 	Ø'ÙHØ!`Ù#ØØØ ÜŸ,™,ô		
ðC
KôV
 	Ø&ÙGØ!_Ù#ØØØÜŸ,™,ô		
ðW
Kôj
 	Ø.ÙSØ!kÙ#ØØØÜŸ,™,ô		
ðk
Kô~
 	Ø)Ù9ð"YàÙ#Ø#'ØØÜŸ,™,ô	
ð
KôV 	Ø)ÙKð"9ñ $ØØØ#'ØØÜŸ,™,ô!	
ðWKôz 	Ø)ÙCð"oá#ØØØ#'ØØÜŸ,™,ô	
ð{KôT 	Ø-ÙJØ!\Ù#ØØ#'ØØÜŸ,™,ô
	
ðUKôj 	Ø'ÙAØ!SÙ#ØØ ÜŸ,™,ô	
ðkKô| 	Ø7ÙAØ!SÙ#ØØ ÜŸ,™,ô	
ð}KôN 	Ø/ÙPØ!bÙ#ØØ ÜŸ,™,ô	
ðOKô` 	Ø.ÙQØ!cÙ#ØØ ÜŸ,™,ô	
ðaKôr 	Ø/ÙRØ!dÙ#ØØ ÜŸ,™,ô	
ðsKôD 	Ø Ù.Ø!LÙ&ØØ#'ØØÜŸ,™,ô
	
ðEKôZ 	Ø ÙAð"_á&ØØØ#'ØØÜŸ,™,ô	
ð[Kôt 	Ø ÙAð"_á&ØØ Ø#(ØØÜŸ,™,ô	
ðuKôN 	Ø Ù)Ø!NÙ&ØØØ#'ØØÜŸ,™,ô	
ðOKôf 	Ø Ù,Ø!YÙ&ØØ!Ø#'ØØÜŸ,™,ô	
ðgKô~ 	Ø Ù.Ø!LÙ&ØØ#'ØØô		
ðKôR 	Ø$ÙHØ!NÙ&ØØ#'ØØ ÜŸ,™,ô
	
ðSKôh 	Ø%ÙJØ!PÙ&ØØÜŸ,™,ô	
ðiKôz 	Ø-ÙTØ!ZÙ&ØØÜŸ,™,ô	
ð{KôL 	Ø'ÙKØ!cÙ&ØØØÜŸ,™,ô		
ðMKô` 	Ø&ÙJØ!bÙ&ØØØÜŸ,™,ô		
ðaKôt 	Ø.ÙVØ!nÙ&ØØØÜŸ,™,ô		
ðuKôH 	Ø)Ù.Ø!UØÙ&ØØÜŸ,™,ô		
ðIKô\ 	Ø)ÙKð"xàÙ&ØØØÜŸ,™,ô	
ð]Kôt 	Ø*Ù2Ø!YÙ&ÜŸ,™,ô	
ðuKôB 	Ø*Ù2Ø!YÙ#Ü2ØÜŸ,™,ô	
ðCKôT 	Ø*Ù2Ø!YÙbØØô	
ðUKôd 	Ø#Ù#Ø!DÙKØ ÜŸ,™,Ü'Ð(ZÓ[ô	
ðeKôv 	Ø#Ù#Ø!DÙ\Ø Ø ÜŸ,™,Ü'Ð(ZÓ[ô		
ðwKôJ 	Ø&Ù#Ø!GÙKØ ØÜŸ,™,ô	
ðKKô\ 	Ø&Ù#Ø!GÙ\Ø Ø ÜŸ,™,ô	
ð]Kôn 	Ø&Ù;ð"yáKØ ØÜŸ,™,ô		
ðoKôB 	Ø&Ù;ð"yáKØ ØÜŸ,™,ô		
ðCKôV 	Ø4ÙDØ!VÙPØ ÜŸ,™,ô	
ðWKôf 	Ø3Ù\ð"HáPØ ÜŸ,™,ô	
ðgKôx 	Ø3Ù\ð"HáPØ ÜŸ,™,ô	
ðyKôJ 	Ø*ÙVð"fá;Ø Ø!%ô	
ðKKô\ 	ÙSð "CÙ;Ø'Ø Ø!%ô	
ð]Kôl 	Ø&Ù!Ø!DÙ#ÜŸ,™,ô	
ðmKôz 	Ø(Ù!Ø!FÙ%ÜŸ,™,ô	
ð{KôH 	Ü'¬¯©¸BÈTÐXaÔbðvá Ø-ØÜŸ,™,ô	
ðIKôZ 	Ü'¬¯©¸BÈTÐXaÔbðvá Ø6Øô	
ð[Kôj 	Ü'¬¯©¹FÐQUÐ\eÔfðvá Ø3ØÜŸ,™,ô	
ðkKô| 	Ü'¬¯©¸DÈrÐXaÔbðuá Ø3ØÜŸ,™,ô	
ð}KôN 	Ü'¬¯©¸BÈTÐX`ÐpuÔvð9ñ
 !Ø,ØÜŸ,™,ô	
ðOKôf 	Ü'¬¯©¹EÐPTÐ[cÐsxÔyð9ñ
 !Ø2ØÜŸ,™,ô	
ðgKô~ 	Ü'¬¯©¸DÈrÐX`ÐpuÔvð9ñ
 !Ø2ØÜŸ,™,ô	
ðKôV 	Ü'¬¯©¸BÈTÐX`ÐpuÔvð9ñ
 !Ø5Øô
	
ðWKôl 	Ü'¬¯©¸BÈTÐX`ÐptÔuð8ñ
 !Ø:ØÜŸ,™,ô	
ðmKôD 	Ü'¬¯©¸DÈrÐX`ÐptÔuð8ñ
 !Ø@ØÜŸ,™,ô	
ðEKô\ 	Ü'¬¯©¸AÈDÐW`Ôað:ñ &Ø<ØÜŸ,™,ô
	
ð]Kôr 	Ü'¬¯©¸BÈTÐXaÔbð:ñ $Ø-ØÜŸ,™,ô
	
ðsKôH 	Ü'¬¯©¹HÐSWÐ^gÔhð:ñ $Ø3ØÜŸ,™,ô
	
ðIKô^ 	Ü'¬¯©¸DÈrÐXaÔbð:ñ $Ø3ØÜŸ,™,ô
	
ð_Kôt 	Ü'¬¯©¸BÈTÐXaÔbð:ñ $Ø6Øô		
ðuKôH 	Ü'¬¯©¸BÈTÐXbÐrwÔxð9ñ
 $Ø.ØÜŸ,™,ô	
ðIKô` 	Ü'¬¯©¸BÈTÐXbÐrwÔxð9ñ
 $Ø7Øô
	
ðaKôv 	Ü'¬¯©¹FÐQUØ-7ÀuôNð9ñ
 $Ø4ØÜŸ,™,ô	
ðwKôP 	Ü'¬¯©¸DÈrØ-7ÀuôNð9ñ
 $Ø4ØÜŸ,™,ô	
ðQKôj 	Ü'¬¯©¸DÉxØ-7ÀuôNð9ñ
 $ØAØÜŸ,™,ô	
ðkKôD 	Ü'¬¯©¸DÉxØ-7ÀuôNð9ñ
 $ØAØÜŸ,™,ô	
ðEKô^ 	Ü'¬¯©¹FÐQUÐ\fÐvzÔ{ð8ñ
 $ØBØÜŸ,™,ô	
ð_Kôv 	Ü'¬¯©¸DÉxØ-7ÀtôMð8ñ
 $ØOØÜŸ,™,ô	
ðwKôP 	Ü'¬¯©¸BÈTÐXaÐqvÔwð9ñ
 $Ø-ØÜŸ,™,ô	
ðQKôh 	Ü'¬¯©¸BÈTÐXaÐqvÔwð9ñ
 $Ø6Øô
	
ðiKô~ 	Ü'¬¯©¹FÐQUØ-6ÀeôMð9ñ
 $Ø3ØÜŸ,™,ô	
ðKôX  	Ü'¬¯©¸DÈrÐXaÐqvÔwð9ñ
 $Ø3ØÜŸ,™,ô	
ðY Kôp  	Ü'¬¯©¸DÉxØ-6ÀeôMð9ñ
 $Ø@ØÜŸ,™,ô	
ðq KôJ! 	Ü'¬¯©¸DÉxØ-6ÀeôMð9ñ
 $Ø@ØÜŸ,™,ô	
ðK!Kôd! 	Ü'¬¯©¹FÐQUÐ\eÐuyÔzð8ñ
 $ØAØÜŸ,™,ô	
ðe!Kô|! 	Ü'¬¯©¸DÉxØ-6ÀdôLð8ñ
 $ØNØÜŸ,™,ô	
ð}!KôV" 	Ü'¬¯©¸BÈTÐXaÔbñ:ñ 'Ù-ØÜŸ,™,ô
	
ðW"Kôl" 	Ü'¬¯©¸BÈTÐXaÔbñ:ñ 'Ù6Øô		
ðm"Kô@# 	Ü'¬¯©¹LÐW[ÐbkÔlñ:ñ 'Ù3ØÜŸ,™,ô
	
ðA#KôV# 	Ü'¬¯©¸DÈrÐXaÔbñ:ñ 'Ù3ØÜŸ,™,ô
	
ðW#Kôl# 	Ü'¬¯©¸BÈTÑXcÐsxÔyñ9ñ
 'Ù/ØÜŸ,™,ô	
ðm#KôD$ 	Ü'¬¯©¸BÈTÑXcÐsxÔyñ9ñ
 'Ù8Øô
	
ðE$KôZ$ 	Ü'¬¯©¹IØ59ÁÐ[`ôbñ9ñ
 'Ù5ØÜŸ,™,ô	
ð[$Kôt$ 	Ü'¬¯©¸DÉrÑXcÐsxÔyñ9ñ
 'Ù5áØÜŸ,™,õ	
ðu$KôP% 	Ü'¬¯©¹IÐTXÙ-8ÈôNñ8ñ
 'ÙCØÜŸ,™,ô	
ðQ%Kôj% 	Ü'¬¯©¸DÉrÑXcÐswÔxñ8ñ
 'ÙCáØÜŸ,™,õ	
ðk%KôF& 	Ü'¬¯	©	±rÕ:Ù8ÙÙ&ØÜŸ,™,ô	
ðG&KôV& 	Ü'¬¯	©	°qÄÇÁÕNÙNÙÙ,ØØÜŸ,™,õ	
ðW&Kôh& 	Ü'¬¯	©	°qÕ9Ù7Ù%Ù.ØÜŸ,™,ô	
ði&Kôx& 	Ü'¬¯	©	°qÕ9Ù7Ù#Ù&ØÜŸ,™,ô	
ðy&KôH' 	Ü'¬¯	©	°qÄÇÁÕNÙNÙ#Ù,ØØÜŸ,™,õ	
ðI'KôZ' 	Ü'¬¯	©	°qÕ9Ù7Ù#Ù.ØØÜŸ,™,õ	
ð['Kôl' 	Ü'¬¯	©	°qÕ9Ù7Ù#Ù.ØØÜŸ,™,õ	
ðm'Kô~' 	Ü'¬¯	©	±rÕ:Ù8ÙÙ0ØØõ	
ð'KôN( 	Ü'¬¯©¹2Õ>Ù;ÙÙ*ØÜŸ,™,ô	
ðO(Kô^( 	Ü'¬¯©¸1Õ=Ù:Ù%Ù2ØÜŸ,™,ô	
ð_(Kôn( 	Ü'¬¯©¸1Õ=Ù:Ù#Ù*ØÜŸ,™,ô	
ðo(Kô~( 	Ü'¬¯©¸1Õ=Ù:Ù#Ù'ØÜŸ,™,ô	
ð(KôN) 	Ü'¬¯©¸1Õ=Ù:Ù#Ù'ØÜŸ,™,ô	
ðO)Kô^) 	Ü'¬¯©¸1Õ=Ù:ÙÙ)Øô	
ð_)Kôl) 	ÙÚIÙ!sÙ#Ø ØÜŸ,™,õ	
ðm)Kô~) 	ÙÚOÙ!yÙ!Ø ØÜŸ,™,õ	
ð)KôP* 	Ù.ÚOÙ!yÙØ Ü)ØÜŸ,™,õ		
ðQ*Kôd* 	Ù'Ú5Ù!_Ù#Ø ØÜŸ,™,õ	
ðe*Kôv* 	Ù%Ú6Ù!`Ù!Ø ØÜŸ,™,õ	
ðw*KôH+ 	Ù2Ú6Ù!`ÙÜ)Ø ØÜŸ,™,õ		
ðI+Kô\+ 	ÙÙ'Ù!RÙÙ&ØÜŸ,™,õ	
ð]+Kôn+ 	Ù*ÚEÜŸ,™,õ	
ðo+Kôx+ 	Ù*ÚEÙ ÜŸ,™,õ		
ðy+KôD, 	Ù*ÚDÙ ÜŸ,™,õ		
ðE,KôP, 	Ù*Ù/Ù!gÚEÙ(ÜŸ,™,õ	
ðQ,Kô`, 	Ù*Ú=Ü2ØÜŸ,™,õ	
ða,Kôn, 	Ù1Ù,ñ"5ñ !Ù"ØÙð  %Ø ÜŸ,™,õ	
ðo,KôP- 	Ù1Ø  A¡s¬A¯F©FÐ3ñ"Añ !Ø Ù"Øß#.£;š4°DÜŸ,™,õ	
ðQ-Kôl- 	Ù1Ù+ñ"5ò HØ Ù"ØØÜŸ,™,õ	
ðm-KôF. 	Ù1Ø  A¡s¬A¯F©FÐ3ñ"Aò HØ Ù"ØØÜŸ,™,õ	
ðG.Kôb. 	Ù%Ø  A q¨!©S´!·&±&Ð9ñ"Aò ZØ Ù#Øß#.£;™4±DÜŸ,™,õ!	
ðc.KôF/ 	Ù Ù#Ù!AÚ*ÚZØØØ ÜŸ,™,õ
	
ðG/Kô\/ 	Ù!Ù!XÙ%Ù Ü2ØÜŸ,™,õ	
ð]/Kôn/ 	Ù#Ù!JÙ ¤%§*¢*¨a°¨VÓ"4Ð5Ù Ü2ØÜŸ,™,õ	
ðo/Kô@0 	Ù#Û*©D°%Ð8Ù!pÙ&ØØØ $ØÙ-õ
	
ðA0KÐô\0 +.Û9ÛYÐbf÷+hñ +hÑ&ˆô ˆAØ�AŒv˜,©)Ô3ñ ÜœE ! Q¨¥U›OÓ,ˆGÙ¡§	¡	¬#¬c°7Ó*;Ó <Õ<¹sÕBˆKÙ¡$¨¥(Õ*ˆJÙ §5¤5Ò(@¹Ó(@§5¡5Ò(@¹Ó(@Ó#@Õ@ˆKØ×#Ñ#ÜÙ"& q c© Ø&'¨¨A¨q°'¸1¸aÀÀ|Ð%TÙ-<¸Q¸Cñ @6à6A°]ñ C;ð <LÐ:LÉAð*Qð  *Ø +ØØ(˜>©Ð7Ø"Ø#'Ü"'§,¡,õ!öô ñ+hóL'Ð#ð:ÙÑ#¡U©O¼U¿\¹\ÐJð:áÑ(©(Ð3ð:ñ 	Ñ(¨%±¸eÁ_ÔV[×VbÑVbÐcð:ñ 	Ñ&¨©{¸EÁ?ÔTY×T`ÑT`Ðað	:ñ 	‘+˜u¡o´u·|±|ÐDð:ñ 	‘¤§¡Ð.ð:ñ 	‘¤%§,¡,Ð/ð:ñ 	‘¤§¡Ð.ð:ñ 	‘¬¯©Ð5ð:ñ 	‘_¤e§l¡lÐ3ð:ñ 	‘o¤u§|¡|Ð4ð:ñ 	‘¬¯©Ð5ð:ñ 	‘¤%§,¡,Ð/ð:ñ  	‘/¤5§<¡<Ð0ð!:ñ" 	‘/¤5§<¡<Ð0ð#:ñ$ 	‘¤%§,¡,Ð/ð%:ñ& 	‘¤%§,¡,Ð/ð':ñ( 	‘¤%§,¡,Ð/Ù‘O¤U§\¡\Ð2Ù‘_¤e§l¡lÐ3Ù‘¬¯©Ð5Ù‘_¤e§l¡lÐ3Ù‘¤%§,¡,Ð/Ù‘¬¯©Ð5ñ5:Ð%ó8 "AÐÜ#Ø-ÙÜ2ØØ %õ 
Ðð 7×:Ñ:Ð;PÐRTÓUˆ
Ø×#Ñ# JÔ/Ø×ÑÐ 4Ö5ñ "Að Ðr,   c                 óx  € V'       d%   \         P                  ! V4      W,
          ,          pMWP                  4       V ,
          ,          pVR 8X  d   VP                  4       # VR8X  d   VP	                  4       # VR8X  d<   VP                  4       ^ 8w  d'   VP	                  4       VP                  ^ 4      ,          # V# )rL  rƒ  Ú	batchmean)r4   rŠ   rª   rL  rƒ  r�  r\   )rÁ  r]  r    r  r)   s   &&&& r*   Úkldivloss_referencer3  ¨
  sˆ   € ßÜ—’˜6Ó" f¥nÕ5‰àŸ:™:›<¨%Õ/Õ0ˆØ�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ	�kÔ	! f§j¡j£l°aÔ&7Ø�z‰z‹|˜fŸk™k¨!›nÕ,Ð,Ø€Mr,   c                 ó  € V P                  4       ^8  d   \        RV P                  4        24      hV P                  ^ 4      pV P                  ^4      pV3V P                  4       R,          ,           p\        P                  ! V4      P                  V 4      pVf&   \        P                  ! V4      P                  V 4      p^ p	\        V U
u. uF  p
\        V
4      NK  	  up
!   Fj  pW,          pW<8X  d   RMW,,          P                  4       p\        V4      pVP                  ^V4       V \        V4      ,          ) V,          W‹&   W�,          p	Kl  	  VR8X  d   VP                  4       V	,          # VR8X  d   VP                  4       # V# u up
i )rh  zExpected input.dim() >= 3, got ºr4  NNrÏ  rL  rƒ  )r�  r&   r\   r4   r9  r€   Úonesr   r!  ÚitemrÅ  ÚinsertrÆ  rƒ  )rÁ  r]  r.   r�  r    ÚNÚCÚout_sizeÚoutputÚtotal_weightr\   ÚtupÚt_nxÚnormÚinput_indexs   &&&&&          r*   ÚnlllossNd_referencerB  ¶
  sG  € à‡y�yƒ{�Q„ÜÐ>¸u¿y¹y»{¸mÐLÓMÐMØ�
‰
�1‹€AØ�
‰
�1‹€AØˆt�e—j‘j“l 2Õ&Õ&€HÜ�[Š[˜Ó"×*Ñ*¨5Ó1€Fà‚~Ü—’˜A“×&Ñ& uÓ-ˆØ€LÜ±Ó:±¨œ˜tž±Ñ:Ô;ˆØ�{ˆØ!Ô)‰r¨v­|×/@Ñ/@Ó/BˆÜ˜3“iˆØ×Ñ˜1˜dÔ#ØœU ;Ó/Õ0Ð0°4Õ7ˆ‰ØÕŠñ <ð �FÔØ�z‰z‹|˜lÕ*Ð*Ø	�eÔ	Ø�z‰z‹|ÐØ€Mùò ;s   ÃF
c                 ór  € V P                  4       ^8  d   \        RV P                  4        24      h\        P                  ! V ^4      p V P	                  ^4      pVf&   \        P
                  ! V4      P                  V 4      pVP                  ! ^V.R V P                  R,           4       O5!  pVR8”  d3   VR8”  d   \        RV 24      hV^V,
          ,          WE,          ,           pW,          V,          P                  ^R7      ) pVR8X  d   VP                  4       # VR	8X  d   VP                  4       # V# )
r4  zExpected input.dim() >= 2, got c              3   ó&   "  € T F  p^x € K	  	  R# 5irç  rd   ©ré  r<   s   & r*   rê  Ú;cross_entropy_loss_prob_target_reference.<locals>.<genexpr>Ú
  s   é € Ð <©O q¥«Oùó   ‚r5  rÏ  r  z%Expected label_smoothing <= 1.0, got r€  rL  rƒ  )r�  r&   r4   r  r\   r6  r€   r7   Úshaperƒ  rL  )rÁ  r]  r.   r    Úlabel_smoothingr:  r<  s   &&&&&  r*   Ú(cross_entropy_loss_prob_target_referencerJ  Ñ
  s  € à‡y�yƒ{�Q„ÜÐ>¸u¿y¹y»{¸mÐLÓMÐMä×Ò˜e QÓ'€EØ�
‰
�1‹€AØ‚~Ü—’˜A“×&Ñ& uÓ-ˆØ�[Š[˜˜AÐ=Ñ <¨E¯K©K¸®OÓ <Ó=€Fà˜ÔØ˜SÔ Ü Ð#HÈÐHYÐ!ZÓ[Ð[Ø˜A Õ/Õ0°?Õ3FÕFˆà�~ Õ&×+Ñ+°Ð+Ó2Ð2€FØ�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c                 ó¤  € \         P                  ! V ^4      p\        P                  ! VVVVVR7      pVR8X  d   V# RTu;8  d   R8:  g   M \	        RV 24      h\         P                  ! V ^4      p V P                  ^4      pVe4   WP                  ! ^V.R V P                  R,           4       O5!  ,          p \         P                  ! V ^4      ) p	W8H  p
V	P                  V
R4       VR8X  d    Veh   \         P                  ! V	4      VP                  ^ VP                  V
P                  4       4      P                  4       4      P                  4       ,          pMT\         P                  ! V	P                  V
P                  4       4      4      pM VR8X  d   \         P                  ! V	4      pMT	p^V,
          V,          WµV,          ,          ,           # )	rT   r‘  rÏ  r  z+Expected 0.0 < label_smoothing <= 1.0, got c              3   ó&   "  € T F  p^x € K	  	  R# 5irç  rd   rE  s   & r*   rê  Ú>cross_entropy_loss_indices_target_reference.<locals>.<genexpr>ü
  s   é € Ð+G±°!­A³ùrG  r5  rL  rƒ  )r4   r  r~   rx  r&   r\   r7   rH  rƒ  Úmasked_fill_ÚgatherÚmasked_selectÚlogical_notrU   rL  )rÁ  r]  r.   r�  r    rI  Úlog_softmax_inputÚnlllossr:  Úsmooth_lossÚignore_maskÚrets   &&&&&&      r*   Ú+cross_entropy_loss_indices_target_referencerW  é
  s‡  € ä×)Ò)¨%°Ó3ÐÜ�jŠjØØØØ!Øô€Gð ˜#ÔØˆà�/Ö( SÖ(ÜÐJÈ?ÐJ[Ð\Ó]Ð]ä×Ò˜e QÓ'€EØ�
‰
�1‹€AØÒØŸš A qÐHÑ+G°u·{±{À2¶Ó+GÓHÕHˆä—9’9˜U AÓ&Ð&€KàÑ(€KØ×Ñ˜[¨#Ô.à�FÔØÒô —)’)˜KÓ(¨6¯=©=¸¸F×<PÑ<PÐQ\×QhÑQhÓQjÓ<k×<sÑ<sÓ<uÓ+v×+zÑ+zÓ+|Õ|‰Cä—*’*˜[×6Ñ6°{×7NÑ7NÓ7PÓQÓR‰CØ	�eÔ	Ü�iŠi˜Ó$‰àˆà�Õ 7Õ*¨SÀaÕ4GÕ-HÕHÐHr,   c           	      ót   € V P                   VP                   8X  d   \        V VVVVR 7      # \        WW$W5R7      # ))r.   r    rI  ©r.   r    r�  rI  )rH  rJ  rW  )rÁ  r]  r.   r�  r    rI  s   &&&&&&r*   Úcross_entropy_loss_referencerZ    sE   € à‡{�{�f—l‘lÔ"Ü7ØØØØØ+ô-ð 	-ô ;Ø &Ø%ô
ð 	
r,   c           	      óv  € VP                   ^ ,          pVP                   ^R p	VP                   R,          p
V P                   RR p\        P                  ! T VP                  RV
34      Ve   VP                  R4      MR4      P                  . VOVNV	O54      pVe   TMRp\        P                  ! WÂVWeVR7      # )r   NrY  r3   éœÿÿÿ)rH  r~   rw  ÚreshapeÚcross_entropy)rÁ  Úlinear_weightr]  Úlinear_biasr.   r�  r    rI  Únum_classesÚout_featuresÚin_featuresÚnum_batchesÚlogitss   &&&&&&&&     r*   Ú#linear_cross_entropy_loss_referencerf  "  sÈ   € ð  ×%Ñ% aÕ(€KØ ×&Ñ& q¨Ð,€LØ×%Ñ% bÕ)€KØ—+‘+˜c˜rÐ"€KÜ�XŠXØØ×Ñ˜r ;Ð/Ó0Ø#.Ò#:ˆ×Ñ˜BÔÀó÷ �gÐ8�Ð8˜[Ð8¨<Ñ8Ó9ð	 ð
 $0Ò#;‘<À€LÜ�?Š?Ø˜vØØ'ôð r,   c           
      ó
  € R  p\        WRR7       UUu. uF  w  rgV! WgW#4      NK  	  ppp\        VRR/ w  ršV P                  V	4      pVR8X  d   \        V4      \        V
4      ,          # VR8X  d   \        V4      # V# u uppi )c                 óT   € W8X  d   R# Vf   ^MW!,          pW,          ) V,          pWT3# )r   r±  rd   )rÁ  r]  r.   r�  r@  r)   s   &&&&  r*   Únll_loss_helperÚ*nllloss_reference.<locals>.nll_loss_helper<  s0   € ØÔ!ØˆMØ’N‰q¨­ˆØ•-� $Õ&ˆØˆ~Ðr,   Trâ  rã  rL  rƒ  )r   Ú
new_tensorrƒ  )rÁ  r]  r.   r�  r    ri  r:   r6   Úlosses_and_weightsÚlossesr/   Úlosses_tensors   &&&&&       r*   Únllloss_referencero  9  s˜   € òô '*¨%ÀÕ&EôGÙ&E™d˜añ *¨!°ÖEÙ&Eð ñ GäÐ-Ð;°dÑ;�O€FØ×$Ñ$ VÓ,€MØ�FÔÜ�=Ó!¤C¨£LÕ0Ð0Ø	�eÔ	Ü�=Ó!Ð!àÐùóGs   ”A?c                 ó`  € W,
          P                  4       pWC8¬  P                  V4      pWC8  P                  V4      pV^ 8X  d   TpM9WTRV,          ,
          ,          VR,          V^,          ,          V,          ,           pVR8X  d   VP                  4       # VR8X  d   VP                  4       # V# )r   r  rL  rƒ  )rB  r€   rL  rƒ  )rÁ  r]  r    r  Úabs_diffÚge_beta_maskÚlt_beta_maskr<  s   &&&&    r*   Úsmoothl1loss_referencert  O  s�   € Ø•×#Ñ#Ó%€HØÑ$×-Ñ-¨hÓ7€LØ‘O×,Ñ,¨XÓ6€Làˆq„yØ‰à¨C°$­JÕ!6Õ7¸,ÈÕ:LÐPXÐ\]ÕP]Õ:^ÐaeÕ:eÕeˆØ�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c                 ó  € W,
          P                  4       pWC8¬  pWC8  pWS,          VR V,          ,
          ,          VR ,          V^,          ,          ,           pVR8X  d   VP                  4       # VR8X  d   VP                  4       # V# )r  rL  rƒ  )rB  rL  rƒ  )rÁ  r]  r    r#  rq  Úge_delta_maskÚlt_delta_maskr<  s   &&&&    r*   Úhuberloss_referencerx  _  s|   € Ø•×#Ñ#Ó%€HØÑ&€MØÑ%€MØÕ" h°°uµÕ&<Õ=ÀÐPSÕ@SÐW_ÐcdÕWdÕ@eÕe€FØ�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c           	      ó  € . pV F  pV^ 8  d    MVP                  V4       K  	  ^ pV FS  p\        \        V 4      4       F8  pWR9  g   K  V\        ^ ^W,          ,
          W,          ,           4      ,          pK:  	  KU  	  V# rJ   )r$  r!  ÚlenrO  )rÁ  r]  ÚtargetsÚtarget_indexrƒ  r:   s   &&    r*   Ú_multilabelmarginloss_referencer}  k  sy   € Ø€GÛˆØ˜!ÔÙØ�‰�|Ö$ñ ð
 €CÛˆÜ”s˜5“zÖ"ˆAØÖØ”s˜1˜a %Õ"5Õ5¸½Õ@ÓAÕA’ó #ñ  ð
 €Jr,   c                 ód  € V P                  4       pV P                  4       ^8  d¾   VP                  4       ^8¼  d   \        RVP                  4        24      hV P                  4       ^8X  d   V P                  ^ 4      MV P                  ^ 4      P                  ^ 4      p VP                  4       ^8X  d   VP                  ^ 4      MVP                  ^ 4      P                  ^ 4      pV P                  ^ 4      pV P                  ^4      pV P	                  V4      P                  4       p\        V4       F  p\        W,          W,          4      Wg&   K  	  VR8X  d   VP                  4       V,          # VR8X  d   VP                  4       V,          # V^8  d   VP                  4       V,          # We,          # )r4  zExpected target.dim() < 2, got rL  rƒ  )r�  r&   rÇ  r\   ÚnewÚzero_r!  r}  rL  rƒ  rÏ  )rÁ  r]  r    Ú	input_dimÚnr�  r<  r:   s   &&&     r*   Úmultilabelmarginloss_referencerƒ  {  sQ  € à—	‘	“€IØ‡y�yƒ{�Q„Ø�:‰:‹<˜1ÔÜ Ð#BÀ6Ç:Á:Ã<À.Ð!QÓRÐRØ&+§i¡i£k°QÔ&6�—‘ Ô"¸E¿O¹OÈAÓ<N×<XÑ<XÐYZÓ<[ˆØ(.¯
©
«¸Ô(9�×!Ñ! !Ô$¸v×?OÑ?OÐPQÓ?R×?\Ñ?\Ð]^Ó?_ˆà�
‰
�1‹€AØ
�*‰*�Q‹-€CØ�Y‰Y�q‹\×ÑÓ!€FÜ�1ŽXˆÜ3°EµH¸f½iÓHˆ‹	ñ ð �FÔØ�{‰{‹}˜sÕ"Ð"Ø	�eÔ	Ø�z‰z‹|˜cÕ!Ð!Ø	�QŒð �~‰~Ó #Õ%Ð%à�|Ðr,   c                 óä   € W ,
          P                  ^ R7      P                  V 4      p\        P                  ! V^8H  W4      pVR8X  d   VP	                  4       # VR8X  d   VP                  4       # V# ©r   rD  rL  rƒ  )rM  r€   r4   ÚwhererL  rƒ  )rÁ  r]  ri  r    Úmargin_clampr<  s   &&&&  r*   Úhingeembeddingloss_referencerˆ  –  sc   € Ø•N×)Ñ)¨aÐ)Ó0×8Ñ8¸Ó?€LÜ�[Š[˜ 1™ eÓ:€Fà�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c                 ó¼   € ^V ) V,          P                  4       ,           P                  4       pVR8X  d   VP                  4       # VR8X  d   VP                  4       # V# )rT   rL  rƒ  )rŠ   rª   rL  rƒ  )rÁ  r]  r    r<  s   &&& r*   Úsoftmarginloss_referencerŠ  ¡  sQ   € Ø�E�6˜F•?×'Ñ'Ó)Õ)×.Ñ.Ó0€Fà�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c           	      ó,  € Vf*   V P                  \        V 4      4      P                  ^4      p^ p\        \        V 4      4       FL  pWa8w  g   K  WTV,          \	        ^ W0V,          ,
          W,          ,           4      V,          ,          ,          pKN  	  V# rc   )r  rz  Úfill_r!  rO  )rÁ  Ú
target_idxr;   ri  r.   r<  r:   s   &&&&&  r*   Ú_multimarginloss_referencerŽ  «  sx   € Ø‚~Ø—‘œ3˜u›:Ó&×,Ñ,¨QÓ/ˆà€FÜ”3�u“:ÖˆØŽ?Ø˜ZÕ(¬C°°FÀ:Õ=NÕ4NÐQVÕQYÕ4YÓ,[Ð_`Õ,`ÕaÕaŠFñ ð €Mr,   c                 ó¬  € V P                  4       ^8  dG   V P                  4       ^8X  d   V P                  ^ 4      MV P                  ^ 4      P                  ^ 4      p VP                  4       pVP                  4       ^ 8X  d   VP                  ^ 4      pV P                  ^ 4      pV P                  ^4      pV P                  V4      p	\	        V4       F  p
\        W
,          W,          W#V4      Wš&   K!  	  VR8X  d   V	P                  4       V,          # VR8X  d   V	P                  4       V,          # V^ 8X  d   V	P                  ^ 4      V,          # W˜,          # )r4  rL  rƒ  )	r�  rÇ  r\   r  r!  rŽ  rL  rƒ  rÏ  )rÁ  r]  r;   ri  r.   r    Ú
target_dimr‚  r�  r<  Úxs   &&&&&&     r*   Úmultimarginloss_referencer’  ¶  s  € Ø‡y�yƒ{�Q„Ø&+§i¡i£k°QÔ&6�—‘ Ô"¸E¿O¹OÈAÓ<N×<XÑ<XÐYZÓ<[ˆà—‘“€JØ‡z�zƒ|�qÔØ×!Ñ! !Ó$ˆà�
‰
�1‹€AØ
�*‰*�Q‹-€CØ�Y‰Y�q‹\€FÜ�1ŽXˆÜ.¨u­x¸½ÀAÈvÓVˆ‹	ñ ð �FÔØ�{‰{‹}˜sÕ"Ð"Ø	�eÔ	Ø�z‰z‹|˜cÕ!Ð!Ø	�qŒØ�~‰~˜aÓ  3Õ&Ð&Ø�<Ðr,   c                 óò   € R  p\         P                  ! V^8H  ^V! W4      ,
          V! W4      V,
          P                  ^ R7      4      pVR8X  d   VP                  4       # VR8X  d   VP	                  4       # V# )c                 óœ  € V P                  V P                  ^ 4      4      p\        V P                  ^ 4      4       F�  pW,          W,          ,          P                  4       W,          W,          ,          P                  4       R,           W,          W,          ,          P                  4       R,           ,          R,          ,          W#&   K�  	  V# )r   gê-�™—q=r  )r  r\   r!  rƒ  )ÚaÚbÚcosr:   s   &&  r*   Ú_cosÚ+cosineembeddingloss_reference.<locals>._cosÎ  s‹   € Ø�e‰e�A—F‘F˜1“IÓˆÜ�q—v‘v˜a“yÖ!ˆAØ•d˜Q�T•k×&Ñ&Ó(¨q­t°aµd­{×.?Ñ.?Ó.AÀEÕ.IÈqÍtÐVWÕVZÍ{×N_ÑN_ÓNaÐdiÕNiÕ-jÐorÕ,rÕsˆC‹Fñ "àˆ
r,   rD  rL  rƒ  )r4   r†  rM  rL  rƒ  )Úinput1Úinput2r]  ri  r    r˜  r<  s   &&&&&  r*   Úcosineembeddingloss_referencerœ  Í  sp   € òô �[Š[˜ 1™ a©$¨vÓ*>Õ&>ÁÀfÓAUÐX^ÕA^×@eÑ@eÐjkÐ@eÓ@lÓm€Fà�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c                 ór  € \         P                  ! WWE4      p\         P                  ! WWE4      p	V'       d.   \         P                  ! WWE4      p
\         P                  ! Wš4      p	\         P                  ! W8,           V	,
          R R7      pVR8X  d   VP	                  4       # VR8X  d   VP                  4       # V# )rÏ  rD  rL  rƒ  )r4   Úpairwise_distancerE  rM  rL  rƒ  )ÚanchorÚpositiveÚnegativeri  r;   ÚepsÚswapr    Úd_pÚd_nÚd_sr<  s   &&&&&&&&    r*   Útripletmarginloss_referencer§  Ý  s�   € ä
×
!Ò
! &°AÓ
;€CÜ
×
!Ò
! &°AÓ
;€CßÜ×%Ò% h¸!ÓAˆÜ�iŠi˜Ó!ˆä�[Š[˜�¨Õ+°Ô5€FØ�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c                 ó°   € V) W,
          ,          V,           P                  ^ R7      pVR8X  d   VP                  4       # VR8X  d   VP                  4       # V# r…  )rM  rL  rƒ  )rš  r›  r]  ri  r    r<  s   &&&&& r*   Úmarginrankingloss_referencer©  í  sP   € Øˆg˜�Õ)¨FÕ2×9Ñ9¸aÐ9Ó@€FØ�FÔØ�{‰{‹}ÐØ	�eÔ	Ø�z‰z‹|ÐØ€Mr,   c                 óò  € \         P                  ! V\         P                  R 7      p\         P                  ! V\         P                  R 7      pV P                  pV P	                  4       p VP                  4       pVP                  ^ 4      p. p\        V P                  ^4      4       EFÉ  p	W),          P                  4       p
W9,          P                  4       pWy,          P                  4       pVP                  ^V,          ^,           3V4      pVP                  4       ^8X  d   WRV13,          VR&   MWV,
          V VR&   V RV
1V	3,          P                  4       pV P                  V^,          ^,           34      pV^ V3,          V^ &   V^ V^,          3,          V^&   VRR VR,          8g  p\        ^V
4       Fz  pVP                  4       pVR;;,          VRR	 ,          uu&   VR;;,          \         P                  ! VVRR VP                  ^4      4      ,          uu&   VVV3,          V,          pK|  	  VP                  VRR P!                  4       P#                  4       R,          ) 4       EKÌ  	  \         P$                  ! V^ 4      pVR8X  d>   VVP'                  VP                  VP(                  R7      ,          P+                  4       pMVR8X  d   VP!                  4       pVP'                  V4      pV# )
r»   N:rT   Nr4  r5  :rT   NNrL  ©r¼   Údevicerƒ  r  r3   )r4   Ú	as_tensorry  r¼   r[   Úcumsumr!  r\   r7  Únew_fullr�  rŠ   Ú	new_zerosÚcloner†  r$  rƒ  rª   Úcatr¯   r¬  rL  )Ú	log_probsr{  Úinput_lengthsÚtarget_lengthsÚblankr    ÚdtÚcum_target_lengthsrm  r:   Úinput_lengthÚtarget_lengthÚcum_target_lengthÚtargets_primeÚprobsÚalphaÚ
mask_thirdr6   Ú
alpha_nextr<  s   &&&&&&              r*   Úctcloss_referencerÁ  ÷  sƒ  € Ü—O’O M¼¿¹ÔD€MÜ—_’_ ^¼5¿:¹:ÔF€NØ	�‰€BØ× Ñ Ó"€IØ�l‰l‹n€GØ'×.Ñ.¨qÓ1ÐØ€FÜ�9—>‘> !Ó$×%ˆØ$Õ'×,Ñ,Ó.ˆØ&Õ)×.Ñ.Ó0ˆØ.Õ1×6Ñ6Ó8ÐØ×(Ñ(¨!¨mÕ*;¸aÕ*?Ð)AÀ5ÓIˆØ�;‰;‹=˜AÔØ")¨^¨m¨^Ð*;Õ"<ˆM˜$Òà")¸mÕ*KÐL]Ð"^ˆM˜$ÑØ˜-˜<˜-¨Ð*Õ+×/Ñ/Ó1ˆØ×#Ñ# ]°QÕ%6¸Õ%:Ð$<Ó=ˆØ˜˜E˜•?ˆˆa‰Ø˜˜M¨!Õ,Ð,Õ-ˆˆa‰Ø# C RÐ(¨M¸"Õ,=Ñ=ˆ
Ü�q˜,Ö'ˆAØŸ™›ˆJØ�r�N˜e C R˜jÕ(‹NØ�r�NœeŸkšk¨*°e¸C¸R°jÀ%Ç/Á/ÐRSÓBTÓUÕU‹NØ˜!˜]Ð*Õ+¨jÕ8ŠEñ	 (ð
 	�‰�u˜R˜S�z—~‘~Ó'×+Ñ+Ó-¨dÕ3Ð3×4ñ' &ô( �YŠY�v˜qÓ!€FØ�FÔØ˜>×,Ñ,°6·<±<ÈÏÉÐ,ÓVÕV×\Ñ\Ó^‰Ø	�eÔ	Ø—‘“ˆØ�Y‰Y�r‹]€FØ€Mr,   rþ   r!  )r  r‚  rË  r  r(  r5  r^  ru  r˜  ÚCosineEmbeddingLossÚTripletMarginLossÚMarginRankingLossÚCTCLossÚCrossEntropyLossÚLinearCrossEntropyLossc                 óÈ   a€ V R,          pR pV3R loS! V RR  Uu. uF
  q2! V4      NK  	  up4      pV! V!  p\        V4      pVR8X  d   VP                  ^ 4      # V# u upi )zÎReference function for criterion supporting no batch dimensions.

The criterion is passed the input and target in batched form with a single item.
The output is squeezed to compare with the no-batch input.
c                 ó¦   € \        V \        \        34      '       d!   V  Uu. uF  qP                  ^ 4      NK  	  up# V P                  ^ 4      # u upi rJ   rÃ  rÈ  s   & r*   rÊ  Ú:single_batch_reference_criterion_fn.<locals>.unsqueeze_inp;  rÌ  rÍ  c                 óª   <€ . p\        V \        \        34      '       d#   V  F  pVP                  S! V4      4       K  	  V# VP	                  V 4       V# rc   )rÄ  rÅ  rÆ  Úextendr$  )Úxsr)   r‘  rU   s   &  €r*   rU   Ú4single_batch_reference_criterion_fn.<locals>.flatten@  sM   ø€ ØˆÜ�bœ4¤˜-×(Ò(Û�Ø—‘™g a›jÖ)ñ ð ˆð �M‰M˜"ÔØˆr,   Nr|   r3   )r+   rÏ  )rf   Ú	criterionrÊ  rÁ  Úsingle_batch_input_argsr<  r    rU   s   *      @r*   Ú#single_batch_reference_criterion_fnrÑ  3  sv   ø€ ð �R•€Iò õ
ñ &ÈÈcÈrÉÓ&SÉÀ }°UÖ';ÉÑ&SÓTÐáÐ/Ñ0€FÜ˜iÓ(€Ià�FÔØ�~‰~˜aÓ Ð à€Mùò 'Ts   �AÚ_no_batch_dim_Únamec                 ó8   € \        \        V 4      ! \        R 7      # ©r}   ©r#   rt   r    ©rÓ  rf   s   $*r*   r=   r=   \  ó   € ¬W´R¸Ô->ÌÕ-Sr,   )r�   rŽ   rC   Útarget_sizerD   r  rG   ÚKLDivLoss_no_batch_dim_c                  ó8   € \         P                  ! \        R 7      # rÕ  )rt   rþ   r    rd   r,   r*   r=   r=   i  s   € œBŸLšL´9Õ=r,   c                  óJ   € \         P                  ! R4      P                  4       # ©rh  rü  rú   rd   r,   r*   r=   r=   j  s   € œŸš DÓ)×-Ñ-Ô/r,   c                  ó.   € \         P                  ! R4      # rÝ  r†   rd   r,   r*   r=   r=   k  s   € œ%Ÿ*š* TÔ*r,   )r�   rŽ   r�   Ú	target_fnrD   r  rG   ÚBCELossc                  óv   € \         P                  ! \         P                  ! ^	\         P                  R7      4      # ©r  r»   )r4   rÛ   r”   r[   rd   r,   r*   r=   r=   x  s   € ”—’œeŸkšk¨!´5·<±<Ô@ÔAr,   c                  ó¦   € \         P                  ! ^	\         P                  R7      P                  ^ 4      P	                  \         P                  4      # râ  )r4   r”   r[   r®   r¯   rd   r,   r*   r=   r=   y  s-   € ”—’˜A¤U§\¡\Ô2×5Ñ5°aÓ8×;Ñ;¼E¿L¹LÔIr,   ÚBCEWithLogitsLossc                  óN   € \         P                  ! ^	\         P                  R7      # râ  ©r4   r”   r[   rd   r,   r*   r=   r=   {  s   € ¤%§+¢+¨a´u·|±|Õ"Dr,   c                  óN   € \         P                  ! ^	\         P                  R7      # râ  ræ  rd   r,   r*   r=   r=   {  s   € ÌeÏkÊkÐZ[Ôch×coÑcoÕNpr,   c                  óN   € \         P                  ! ^	\         P                  R7      # râ  ræ  rd   r,   r*   r=   r=   |  s   € ¤5§;¢;¨q¼¿¹Õ#Er,   c                  ó@   € \         P                  ! . RO^,          4      # ©rT   )r3   rT   rT   ©r4   Útensorrd   r,   r*   r=   r=   |  s   € ÌuÏ|Ê|Ò\fÐijÕ\jÔOkr,   c                  óN   € \         P                  ! ^\         P                  R7      # )ri  r»   ræ  rd   r,   r*   r=   r=   }  s   € ¤U§[¢[°¼%¿,¹,Õ%Gr,   c                  ó2   € \         P                  ! . RO4      # )rh  )rh  r   r3   rT   rë  rd   r,   r*   r=   r=   }  s   € ÔQV×Q]ÒQ]Ò^kÔQlr,   c                  óN   € \         P                  ! ^	\         P                  R7      # râ  ræ  rd   r,   r*   r=   r=   ~  s   € œuŸ{š{¨1´E·L±LÕAr,   c                  ó@   € \         P                  ! . RO^,          4      # rê  rë  rd   r,   r*   r=   r=   ~  s   € Ì5Ï<Ê<ÒXbÐefÕXfÔKgr,   c                  óz   € \         P                  ! \        P                  ! ^\        P                  R7      ^ R7      # )rh  r»   r€  )r~   r  r4   r”   r[   rd   r,   r*   r=   r=     s   € œŸš¤e§k¢k°!¼5¿<¹<Ô&HÈaÕPr,   c                  ó.   € \         P                  ! ^4      # rS   rë  rd   r,   r*   r=   r=     s   € ÔZ_×ZfÒZfÐghÔZir,   c                  óš   € \         P                  ! ^	\         P                  R7      \         P                  ! ^	\         P                  R7      3# râ  ræ  rd   r,   r*   r=   r=   ‚  ó'   € ”—’˜Q¤e§l¡lÔ3´U·[²[ÀÌ%Ï,É,Ô5WÑXr,   c                  óN   € \         P                  ! ^\         P                  R7      # )rT   r»   )r4   rì  r[   rd   r,   r*   r=   r=   ƒ  s   € ”—’˜Q¤e§l¡lÕ3r,   c                  óZ   € \         P                  ! R4      \         P                  ! R4      3# r  r>  rd   r,   r*   r=   r=   †  s   € ¤5§;¢;¨r£?´E·K²KÀ³OÑ"Dr,   c                  óJ   € \         P                  ! R4      P                  4       # r  )r4   r”   Úsignrd   r,   r*   r=   r=   †  s   € ÌeÏkÊkÐZ\Ëo×NbÑNbÔNdr,   c                  óš   € \         P                  ! ^	\         P                  R7      \         P                  ! ^	\         P                  R7      3# râ  ræ  rd   r,   r*   r=   r=   Š  rô  r,   c                  óN   € \         P                  ! ^	\         P                  R7      # râ  ræ  rd   r,   r*   r=   r=   ‹  s   € ”—’˜A¤U§\¡\Õ2r,   ÚMultiLabelSoftMarginLossc                  óN   € \         P                  ! ^	\         P                  R7      # râ  ræ  rd   r,   r*   r=   r=   �  s   € ¬¯ª°Q¼e¿l¹lÕ)Kr,   c                  ó.   € \         P                  ! ^	4      # )r  r>  rd   r,   r*   r=   r=   �  s   € ÔUZ×U`ÒU`ÐabÔUcr,   rW   c                 ó8   € \        \        V 4      ! \        R 7      # rÕ  rÖ  r×  s   $*r*   r=   r=   Ÿ  rØ  r,   c                 ó   € V ! 4       # rc   rd   ©Úfs   &r*   r=   r=      s   € ¡A¤Cr,   c                 ó   € V ! 4       # rc   rd   r   s   &r*   r=   r=   ¡  s   € ¡a¤cr,   )r�   rŽ   r�   rß  rD   r  Ú
has_parityc                   óÜ   a € ] tR tRt o ]R 4       t]V 3R lR l4       t]V 3R lR l4       t]RV 3R lR ll4       tR	 t	R
 t
R tRV 3R lR lltRV 3R lR lltRV 3R lR lltRtV tR# )Ú
NNTestCasei«  c                ó   € \         hrc   ©ÚNotImplementedError)re   rf   rh   s   &*,r*   Ú_forwardÚNNTestCase._forward®  ó   € ä!Ð!r,   c                ó˜   <€ V ^8„  d   QhRS[ P                  RS[S[S[ P                  ,          S[S[ P                  ,          3,          /# )r4  rÑ  Úreturn)rt   ru   rÆ  rÅ  Ú	Parameter)Úformatrq   s   "€r*   Ú__annotate__ÚNNTestCase.__annotate__³  s>   ø€ ÷ "ñ "¡b§i¡ið "±E¹$¹r¿|¹|Õ:LÉdÑSU×S_ÑS_ÕN`Ð:`Õ4añ "r,   c                ó   € \         hrc   r  ©re   rÑ  s   &&r*   Ú_get_parametersÚNNTestCase._get_parameters²  r  r,   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# )r4  rÑ  r  Nrs   )r  rq   s   "€r*   r  r  ·  s   ø€ ÷ "ñ "©B¯I©Ið "¸$ñ "r,   c                ó   € \         hrc   r  r  s   &&r*   Ú_zero_grad_parametersÚ NNTestCase._zero_grad_parameters¶  r  r,   c          
      ó¨   <€ V ^8„  d   QhRS[ P                  RS[RS[P                  RS[P                  S[S[P                  ,          ,          RS[/# )r4  rÑ  rÁ  r<  Úgrad_outputÚcreate_graph)rt   ru   r   r4   rÎ  r   Úbool)r  rq   s   "€r*   r  r  »  sP   ø€ ÷ "ñ "¡§	¡	ð "Ù)ð"Ù38·<±<ð"á$Ÿ|™|©h±u·|±|Õ.DÕDð"ñ !%ñ"r,   c                ó   € \         hrc   r  )re   rÑ  rÁ  r<  r  r  s   &&&&&&r*   Ú	_backwardÚNNTestCase._backwardº  s
   € ô
 "Ð!r,   c                ó^  a a€ \        V\        4      '       d5   \        ;QJ d    . VV 3R  lV 4       F  NK  	  5# ! VV 3R  lV 4       4      # \        V\        4      '       d#   V Uu. uF  pS P                  VS4      NK  	  up# \        P
                  ! VP                  4       S4      # u upi )c              3   óH   <"  € T F  pSP                  VS4      x € K  	  R # 5irc   )Ú	_jacobian)ré  ÚelemÚnum_outre   s   & €€r*   rê  Ú'NNTestCase._jacobian.<locals>.<genexpr>Ã  s   øé € ÐIÁ5¸4˜Ÿ™¨¨g×6Ð6Ã5ùs   ƒ")rÄ  rÆ  rÅ  r#  r4   r9  Únelement)re   rÁ  r%  r$  s   f&f r*   r#  ÚNNTestCase._jacobianÁ  s}   ù€ Ü�eœU×#Ò#ß”5ÕIÁ5ÓI—5ÐI�5ÕIÁ5ÓIÓIÐIÜ˜œt×$Ò$Ù>CÓD¹e°d�D—N‘N 4¨Ö1¹eÑDÐDä—;’;˜uŸ~™~Ó/°Ó9Ð9ùò Es   Á'B*c                ó,  a € \        V\        P                  4      '       dC   VP                  '       d    VP	                  4       P                  R4      # VP                  R4      # \        ;QJ d    . V 3R lV 4       F  NK  	  5# ! V 3R lV 4       4      # )rT   c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5irc   )Ú_flatten_tensors)ré  r•  re   s   & €r*   rê  Ú.NNTestCase._flatten_tensors.<locals>.<genexpr>Ð  s   øé € Ð=¹1°a˜×.Ñ.¨q×1Ð1»1ùó   ƒ!r3   )rÄ  r4   rÎ  Ú	is_sparseÚto_denser7   rÆ  )re   r‘  s   f&r*   r+  ÚNNTestCase._flatten_tensorsÉ  sd   ø€ Ü�aœŸ™×&Ò&Ø�{�{ˆ{Ø—z‘z“|×(Ñ(¨Ó,Ð,à—v‘v˜b“zÐ!ç”5Ô=¹1Ó=—5Ð=�5Ô=¹1Ó=Ó=Ð=r,   c                ó.  € \        V\        P                  4      '       d[   VP                  '       dG   VP                  e7   VP                  P                  4        VP                  P                  4        R # R # R # V F  pV P                  V4       K  	  R # rc   )rÄ  r4   rÎ  r;  Úgradr€  Údetach_Ú_zero_grad_input)re   rÁ  r:   s   && r*   r4  ÚNNTestCase._zero_grad_inputÒ  sj   € Ü�eœUŸ\™\×*Ò*Ø×"×"Ð" u§z¡zÒ'=Ø—
‘
× Ñ Ô"Ø—
‘
×"Ñ"Ö$ñ (>Ñ"ó �Ø×%Ñ% aÖ(ó r,   c                ó    <€ V ^8„  d   QhRS[ /# ©r4  rÁ  r   )r  rq   s   "€r*   r  r  Û  s   ø€ ÷ (ñ (Ñ2Bñ (r,   c                ó  € V P                  W4      pVP                  4       pV'       d&   V P                  W&4      p\        \	        V4      4      pV'       d?   \        R  V P                  V4      ^ ,           4       4      p	\        P                  ! W–4      p
\        V4       EF7  pV P                  V4      w  rÍ\        WÍRR7       UUu. uF!  w  rïVf   \        P                  ! V4      MTNK#  	  ppp\        P                  ! V4      pVP                  R4      p^VV&   V'       d   V P                  V4       V'       d   V P                  V4       V P                  WVV4      pV'       d8   \        X\	        V4      RR7       F  w  ppVP!                  R4      VRV3&   K  	  V'       g   EK  \        P"                  ! V P%                  V4      ^ 4      X
RV3&   EK:  	  RpV'       d   VX3,          pV'       d   VX
3,          pV# u uppi )c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irc   )Únumelrè  s   & r*   rê  Ú2NNTestCase._analytical_jacobian.<locals>.<genexpr>ä  s   é € ÐOÑ/N¨!ŸG™GŸI˜IÓ/Nùó   ‚Trâ  :NNNr3   rd   )r	  r'  r#  rÅ  r   rƒ  r  r4   r9  r!  r   Ú
zeros_liker7   r  r4  r  r]  r²  r+  )re   rÑ  rÁ  Újacobian_inputÚjacobian_parametersr<  rð  Újacobian_inpÚflat_jacobian_inputÚ	num_paramÚjacobian_paramr:   ÚparamÚd_paramr;   rí  Úd_outÚ
flat_d_outÚd_inputÚ
jacobian_xÚd_xÚress   &&&&&                 r*   Ú_analytical_jacobianÚNNTestCase._analytical_jacobianÛ  s±  € Ø—‘˜vÓ-ˆØ—o‘oÓ'ˆçØŸ>™>¨%Ó=ˆLÜ"&¤}°\Ó'BÓ"CÐçÜÑO¨t×/CÑ/CÀFÓ/KÈAÖ/NÓOÓOˆIÜ"Ÿ[š[¨Ó@ˆNä�{×#ˆAØ!×1Ñ1°&Ó9‰NˆEäMPÐQVÐhlÕMmÔnÑMmÁ6ÀA¨aªi”u×'Ò'¨Ô*¸QÒ>ÑMmˆGÑnä×$Ò$ VÓ,ˆEØŸ™ B›ˆJØˆJ�q‰Mç"Ø×*Ñ*¨6Ô2çØ×%Ñ% eÔ,Ø—n‘n V°F¸EÓBˆGçÜ'*Ð+>ÄÈgÓ@VÐ_c×'d‘O�J Ø'*§{¡{°2£�J˜q !˜tÓ$ñ (eç"Ò"Ü',§y¢y°×1FÑ1FÀwÓ1OÐQRÓ'S�˜q !˜tÔ$ñ) $ð, )+ˆßØ�<�=Õ ˆCßØ�>�?Õ"ˆCàˆ
ùó3 os   Ã'Hc                ó    <€ V ^8„  d   QhRS[ /# r7  r   )r  rq   s   "€r*   r  r    s   ø€ ÷ ñ Ñ1Añ r,   c                ó:  a a€ VV 3R  lpRpV'       d   V\        WRRR7      3,          pV'       dk   S P                  S4      w  rx. p	V F0  p
\        WRV
RR7      pV	P                  V^ ,          ^ ,          4       K2  	  V\        P                  ! V	^ 4      3,          pV# )c                  óD   <€ SP                  SV 4      P                  4       # rc   )r	  Údetach)rÁ  rÑ  re   s   *€€r*   ÚfwÚ*NNTestCase._numerical_jacobian.<locals>.fw  s   ø€ Ø—=‘= ¨Ó/×6Ñ6Ó8Ð8r,   ç�íµ ÷Æ°>)r¢  )r]  r¢  rd   )r   r  r$  r4   r²  )re   rÑ  rÁ  r>  r?  rR  rK  rD  r<   Úto_catr;   Újacobians   ff&&&       r*   Ú_numerical_jacobianÚNNTestCase._numerical_jacobian  sŒ   ù€ ö	9ð )+ˆßØÔ*¨2¸$Ô?Ð@Õ@ˆCßØ×+Ñ+¨FÓ3‰HˆEØˆFÛ�Ü2°2ÀQÈDÔQ�à—‘˜h q�k¨!�nÖ-ñ ð ”E—I’I˜f aÓ(Ð*Õ*ˆCØˆ
r,   c                ó    <€ V ^8„  d   QhRS[ /# r7  r   )r  rq   s   "€r*   r  r    s   ø€ ÷ >ñ >Ñ,<ñ >r,   c                ó  € \        V P                  V4      ^ ,          4      pV P                  WW44      pV P                  WW44      p\	        \        V4      4      p\	        \        V4      4      p. p	\        WxRR7       FZ  w  r«V
P                  4       ^ 8w  g   K  V	P                  V
P                  VRR7      P                  4       P                  4       4       K\  	  \        V	4      ^ 8”  d"   V P                  \        V	4      \        4       R# R# )r   Trâ  )r¾  Nr3   )r  r  rL  rW  rÅ  r   r   r:  r$  r©  rB  rO  rz  ÚassertLessEqualÚ	PRECISION)re   rÑ  rÁ  r>  r?  Ú
analyticalÚ	numericalÚanalytical_tÚnumerical_tÚdifferencesr•  r‚  s   &&&&        r*   Úcheck_jacobianÚNNTestCase.check_jacobian  sÛ   € Ü" 4×#7Ñ#7¸Ó#?ÀÕ#BÓCÐØ×.Ñ.¨v¸nÓbˆ
Ø×,Ñ,¨V¸NÓ`ˆ	ÜœM¨*Ó5Ó6ˆÜœ=¨Ó3Ó4ˆàˆÜ˜¸$×?‰DˆAØ�w‰w‹y˜AŽ~Ø×"Ñ" 1§5¡5¨°" 5Ó#5×#9Ñ#9Ó#;×#?Ñ#?Ó#AÖBñ @ô ˆ{Ó˜aÔØ× Ñ ¤ [Ó!1´9Ö=ñ  r,   rd   N©F)TT©T)rk   rl   rm   rn   r   r	  r  r  r  r#  r+  r4  rL  rW  rb  ro   rp   ©rq   s   @r*   r  r  «  s�   ø‡ € ð ñ"ó ð"ð ÷"ó ð"ð ÷"ó ð"ð ÷"ñ "ó ð"ò:ò>ò)÷(ò (÷Tò ÷">÷ >ð >r,   r  c                   ót   a € ] tR tRt o 0 RmtRR ltR tR t]R 4       t	]R 4       t
R tRR	 ltR
 tRtV tR# )ÚTestBasei&  Nc                ó  € W n         W@n        Wn        W0n        V P                   FU  pWe9  g   K  VR ,           V9  g   K  VR,           V9  g   K+  VR9   d   RWV&   K8  \        V P                  4        RV R24      h	  WPn        / V n        R# )Ú_fnÚ_sizez
: Specify z4 by a value, a function to generate it, or its size!N>   Ú
extra_argsrA   rd   )	rK   r�   rŽ   rD   Ú_required_arg_namesÚ
ValueErrorÚget_nameÚ_extra_kwargsÚ
_arg_cache)re   rŽ   rK   rD   r�   rh   rÓ  s   &&&&&, r*   Ú__init__ÚTestBase.__init__*  s„   € ØŒ	Ø ŒØ&ÔØ(ÔØ×,Ô,ˆDØÖ! d¨U¥l¸&Ö&@ÀTÈGÅ^Ð[aÖEaØÐ=Ô=Ø#%�F“Lä$¨¯©«Ð'8¸
À4À&ÐH|Ð%}Ó~Ð~ñ -ð $ÔØˆŽr,   c                óÚ   € V P                   e   RV P                   ,           # RV P                  P                  ,           pV P                  '       d   VRV P                  ,           ,          pV# )NÚtest_r<   )r�   rŽ   rk   rK   )re   Ú	test_names   & r*   ro  ÚTestBase.get_name8  sR   € Ø�=‰=Ò$Ø˜TŸ]™]Õ*Ð*à˜d×.Ñ.×7Ñ7Õ7ˆ	Ø�9�9ˆ9Ø˜˜tŸy™y�Õ(ˆIØÐr,   c                ó¤   a € \        V\        P                  4      '       d   V# \        V4      '       d   \	        V4      ! V 3R  lV 4       4      # V# )c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5irc   )Ú_unpack)ré  Úvre   s   & €r*   rê  Ú#TestBase._unpack.<locals>.<genexpr>E  s   øé € Ð>¹°1˜tŸ|™|¨AŸ˜»ùr-  )rÄ  r4   rÎ  r   Útype)re   Úvalues   f&r*   rz  ÚTestBase._unpackA  s>   ø€ Ü�eœUŸ\™\×*Ò*ØˆLÜ˜×ÒÜ˜”;Ô>¹Ó>Ó>Ð>àˆLr,   c                ó&   € V P                  R R4      # )rA   T©Ú_get_arg©re   s   &r*   rA   ÚTestBase.constructor_argsI  s   € à�}‰}Ð/°Ó6Ð6r,   c                ó&   € V P                  R R4      # )rl  Tr�  rƒ  s   &r*   rl  ÚTestBase.extra_argsM  s   € à�}‰}˜\¨4Ó0Ð0r,   c                ó�  a€ WP                   9  d   \        R V R24      hWP                  9  dÛ   VR,           pVR,           pWP                  9   d"   V P                  V,          V P                  V&   M—W0P                  9   d'   V P                  V,          ! 4       V P                  V&   MaW@P                  9  d&   \        RV RV RV RV P	                  4        24      hV3R loS! V P                  V,          4      V P                  V&   V'       d#   V P                  V P                  V,          4      # V P                  V,          # )	zExpected name 'z' to be in required arg namesrj  rk  z	Missing `z`, `z` or `z` for c                 óö   <€ \        V \        4      '       d   V  Uu. uF  pS! V4      NK  	  up# \        V \        P                  4      '       d   V P	                  4       # \        P
                  ! V 4      # u upi rc   )rÄ  rÅ  r4   rÎ  r[   r”   )ÚsizesÚsÚmap_tensor_sizess   & €r*   r‹  Ú+TestBase._get_arg.<locals>.map_tensor_sizesc  s]   ø€ Ü! %¬×.Ò.Ù=BÓC¹U¸Ñ 0°Ö 3¹UÑCÐCÜ# E¬5¯<©<×8Ò8Ø$Ÿ|™|›~Ð-ä$Ÿ{š{¨5Ó1Ð1ùò	  Ds   œA6)rm  r&   rq  rp  ro  rz  )re   rÓ  ÚunpackÚfn_nameÚ	size_namer‹  s   &&&  @r*   r‚  ÚTestBase._get_argQ  s  ø€ Ø×/Ñ/Ô/Ü  ?°4°&Ð8UÐ!VÓWÐWà—‘Ô&Ø˜U•lˆGØ˜w�ˆIà×)Ñ)Ô)Ø(,×(:Ñ(:¸4Õ(@�—‘ Ò%Ø×.Ñ.Ô.Ø(,×(:Ñ(:¸7Ö(CÓ(E�—‘ Ò%à×$6Ñ$6Ô6Ü(Ø# D 6¨¨i¨[¸¸w¸iÀvÈdÏmÉmËoÐM^Ð_óð õ2ñ )9¸×9KÑ9KÈIÕ9VÓ(W�—‘ Ñ%ç6<ˆt�|‰|˜DŸO™O¨DÕ1Ó2ÐWÀ$Ç/Á/ÐRVÕBWÐWr,   c                ó&   € V P                  R V4      # )rÁ  r�  )re   r�  s   &&r*   Ú
_get_inputÚTestBase._get_inputo  s   € Ø�}‰}˜W fÓ-Ð-r,   c                ó   € \         hrc   r  )re   Ú	test_cases   &&r*   Ú__call__ÚTestBase.__call__r  s   € Ü!Ð!r,   )rq  rp  rŽ   rK   r�   rD   >   rÁ  rl  rA   )Ú NNre  )rk   rl   rm   rn   rm  rr  ro  rz  ÚpropertyrA   rl  r‚  r’  r–  ro   rp   rf  s   @r*   rh  rh  &  sW   ø‡ € âEÐôòòð ñ7ó ð7ð ñ1ó ð1òXô<.÷"ð "r,   rh  c                   óf   a a€ ] tR tRt o]V3R lR l4       tV 3R ltR tR tR t	R t
R	tVtV ;t# )
Ú
ModuleTestiv  c                óF   <€ V ^8„  d   QhRS[ RS[P                  RS[ RS[ /# )r4  r•  rÑ  rÁ  r  )r   rt   ru   )r  rq   s   "€r*   r  ÚModuleTest.__annotate__y  s-   ø€ ÷ "ñ "¡#ð "©r¯y©yð "Áð "Éñ "r,   c                ó   € \         hrc   r  )re   r•  rÑ  rÁ  s   &&&&r*   Ú_do_testÚModuleTest._do_testx  r  r,   c                óê  <€ \         SV `  ! V/ VB  VP                  R R4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  R	R4      V n	        VP                  R
4      V n
        V P                  f   \        P                  ! 4       V n
        R# R# )r>  TrM   r’   rW   Ú!FIXME_no_cuda_gradgrad_comparisonFr­   g-Cëâ6*?Úcheck_forward_onlyrG   N)Úsuperrr  r%  r>  Úshould_test_cudaÚshould_test_picklerW   r¢  r­   r£  rG   r4   Úget_default_dtype©re   rf   rh   Ú	__class__s   &*,€r*   rr  ÚModuleTest.__init__|  sÓ   ø€ Ü‰Ò˜$Ð) &Ò)Ø$Ÿj™jÐ)9¸4Ó@ˆÔØ &§
¡
¨;¸Ó =ˆÔØ"(§*¡*¨X°tÓ"<ˆÔØ$Ÿj™jÐ)9¸4Ó@ˆÔà�J‰JÐ:¸EÓBð 	Ô.àŸ™ K°Ó6ˆŒØ"(§*¡*Ð-AÀ5Ó"IˆÔØ#ŸZ™Z¨Ó8ˆÔØ×ÑÒ%Ü!&×!8Ò!8Ó!:ˆDÖñ &r,   c                óÆ  € \        V P                  4      ;_uu_ 4        V P                  ! V P                  !  pV P	                  4       pV P
                  ec   VP                  W#4      p\        V4      p\        V4      pV P                  WQP                  V4      ^ ,          V4      pVP                  WGRR7       V P                  '       d    R R R 4       R # V P                  WV4       V P                  '       d§   \        P                  ! 4       ;_uu_ 4       pVP                  W#4       \        P                   ! W(4       VP#                  ^ 4       \        P$                  ! VRR7      p	VP                  VP                  W#4      VP                  W“4      4       R R R 4       V P'                  WV4       R R R 4       R #   + '       g   i     L,; i  + '       g   i     R # ; i)NF)Úexact_dtype)Úweights_only)r   rG   rŽ   rA   r’  rD   r	  r   r  ÚassertEqualr£  Útest_noncontigr¦  ÚtempfileÚTemporaryFiler4   ÚsaveÚseekÚloadrŸ  )
re   r•  rÑ  rÁ  ÚoutÚ	ref_inputÚ
ref_moduleÚexpected_outr  Úmodule_copys
   &&        r*   r–  ÚModuleTest.__call__Š  sp  € Ü˜t×1Ñ1×2Õ2Ø×%Ò% t×'<Ñ'<Ñ=ˆFØ—O‘OÓ%ˆEà× Ñ Ò,Ø×(Ñ(¨Ó7�Ü$ U›O�	Ü% fÓ-�
Ø#×0Ñ0°×<UÑ<UÐV\Ó<]Ð^_Õ<`ÐblÓm�Ø×%Ñ% cÀUÐ%ÔKØ×&×&Ð&Ø÷ 3Ñ2ð ×Ñ 	°5Ô9à×&×&Ð&ä×+Ò+×-Ô-°Ø×&Ñ& vÔ5Ü—J’J˜vÔ)Ø—F‘F˜1”Iä"'§*¢*¨Q¸UÔ"C�KØ×)Ñ)¨)×*<Ñ*<¸VÓ*KÈY×M_ÑM_Ð`kÓMsÔt÷ .ð �M‰M˜)¨UÔ3÷1 3Ñ2÷  .×-ú÷! 3×2Ð2ús2   žB,GÃGÃAGÄBF<	ÆGÆ<GÇGÇG 	c                ó  a € \        V\        4      '       d"   V Uu. uF  pS P                  V4      NK  	  up# \        V\        4      '       d3   \        ;QJ d    . V 3R  lV 4       F  NK  	  5# ! V 3R  lV 4       4      # TpVP	                  4       pTp\        V4       F$  pVP                  V4      ^8”  g   K  V^,           p M	  \        P                  ! \        P                  ! V4      V.V4      P                  V^4      P                  4       pVP                  4       ^8X  gH   VP                  4       ^ 8X  g3   VP                  4       '       d   \        RVP                  4        24      hVP                  Vn        V# u upi )c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5irc   )Únoncontiguize)ré  Úore   s   & €r*   rê  Ú+ModuleTest.noncontiguize.<locals>.<genexpr>©  s   øé € Ð<¹°1˜×+Ñ+¨A×.Ð.»ùr-  zFExpected noncontig to be non-contiguous or have numel <= 1, got numel=)rÄ  rÅ  r½  rÆ  r�  r!  r\   r4   rX  Ú
empty_likeÚselectrQ  r:  Úis_contiguousr&   r;  )re   Úobjr¾  rì  Úndimr�  rí  Ú	noncontigs   f&      r*   r½  ÚModuleTest.noncontiguize¥  sB  ø€ Ü�cœ4× Ò Ù36Ó7±3¨a�D×&Ñ& qÖ)±3Ñ7Ð7Ü˜œU×#Ò#ß”5Ô<¹Ó<—5Ð<�5Ô<¹Ó<Ó<Ð<ØˆØ�z‰z‹|ˆð
 ˆÜ�t–ˆAØ�{‰{˜1‹~ Ö!Ø˜!•e�Ùñ ô —K’K¤×!1Ò!1°&Ó!9¸6Ð BÀCÓH×OÑOÐPSÐUVÓW×^Ñ^Ó`ˆ	Ø—‘Ó! QÔ&¨)¯/©/Ó*;¸qÔ*@È	×H_ÑH_×HaÒHaÜ ØXÐYb×YhÑYhÓYjÐXkÐlóð ð #)×"6Ñ"6ˆ	ÔØÐùò) 8s   œFc           
     óD  € \        V\        P                  4      '       d   VP                  4       ^ 8X  d   R# \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   R# VP                  V4       VP                  V4       \        4       ;_uu_ 4        VP                  W#4      p\        VRR4      '       d
   V^ ,          pVP                  VP                  4      P                  4       pVP                  4       p\        VP                  W#WE4      4      p\        VP!                  V4      ^,          4      pRRR4       V P#                  V4      pV P#                  X4      p	\%        R	^R7       Fñ  w  r«V
'       d   TMTp\        V'       d   TMT	4      pVP                  V4       VP                  V4       \        4       ;_uu_ 4        VP                  W,4      p\        VRR4      '       d
   V^ ,          pVP                  W,Wí4      pVP'                  VX4       VP'                  VXR^ R7       VP'                  VP!                  V4      ^,          X4       RRR4       Kó  	  R#   + '       g   i     EL7; i  + '       g   i     EK  ; i)
r   Nc              3   óŒ   "  € T F:  p\        V\        P                  4      '       g   K%  VP                  4       ^ 8H  x € K<  	  R# 5i)r   N)rÄ  r4   rÎ  r�  )ré  r:   s   & r*   rê  Ú,ModuleTest.test_noncontig.<locals>.<genexpr>Á  s)   é € ÐJ¡U ¬j¸¼E¿L¹L×.IŒ|ˆq�u‰u‹w˜!Ž|£Uùs
   ‚"A©ATFÚreturn_indices)rg  g-Cëâ6?©ÚatolÚrtol©TF)rÄ  r4   rÎ  r�  Úanyr  r4  r   r	  r#   r  rH  Únormal_r±  r   r  r  r½  r   r®  )re   r•  rÑ  rÁ  r<  r  rH  rE  Únc_inputÚnc_grad_outputÚcontig_iÚcontig_gr:   Úgorµ  r2  s   &&&&            r*   r¯  ÚModuleTest.test_noncontig½  s  € ä�eœUŸ\™\×*Ò*¨u¯y©y«{¸aÔ/?Ùß‹3ÑJ¡UÓJ�3�3Š3ÑJ¡UÓJ×JÒJÙà×'Ñ'¨Ô/Ø×"Ñ" 5Ô)Ü×ÕØ×'Ñ'¨Ó6ˆFÜ�vÐ/°×7Ò7Ø ��Ø Ÿ*™* V§\¡\Ó2×:Ñ:Ó<ˆKØ—\‘\“^ˆFÜ˜y×2Ñ2°6À&ÓVÓWˆGÜ˜y×8Ñ8¸Ó@ÀÕCÓDˆG÷  ð ×%Ñ% eÓ,ˆØ×+Ñ+¨KÓ8ˆÜ")¨-À×"BÑˆHß!‘ xˆAô ¯™+°~ÓFˆBØ×+Ñ+¨FÔ3Ø×&Ñ& qÔ)Ü!×#Õ#Ø×(Ñ(¨Ó3�Ü˜6Ð#3°U×;Ò;Ø˜a�&�CØ ×*Ñ*¨6°cÓ>�à×%Ñ% c¨6Ô2Ø×%Ñ% d¨G¸$ÀQÐ%ÔGØ×%Ñ% i×&?Ñ&?ÀÓ&GÈÕ&JÈGÔT÷ $Ñ#ó #C÷  ×Ðú÷$ $×#Ñ#ús   Â(B#I9ÇBJÉ9J
	ÊJc                ó\  € \         '       d   V P                  '       g   \        P                  ! R 4      h\	        V P
                  4      ;_uu_ 4        V P                  4       p\        P                  \        P                  /p\        V\        4      '       d   TMV3p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      p\        WCR7      pV P                  ! V P                  !  pV P                  ! V P                  !  P                  4       P!                  4       pVP#                  V4      p	VP#                  V4      p
\%        V	^ ,          V
^ ,          RR7       F   w  r¼VP&                  P)                  V4       K"  	  VP+                  V4       VP+                  V4       VP-                  V4       VP-                  V4       VP/                  Wt4      pVP/                  W†4      p\1        VRR4      '       d   V^ ,          pV^ ,          pVP3                  WÞV P4                  ^ RR7       \7        ^4       F½  pVP9                  4       P;                  4       pVP=                  V4      pVP?                  WtVV4      pVP?                  W†VV4      pVP3                  VVV P4                  ^ RR7       \%        V	^,          V
^,          RR7       F%  w  ppVP3                  VVV P4                  ^ R7       K'  	  K¿  	  V P@                  '       Edæ   V PB                  '       EgÓ   V! V!  pV! V!  p\1        VRR4      '       d   V^ ,          pV^ ,          p\        PD                  ! VRR	7      pVP=                  V4      PG                  4       pRVn$        \        PJ                  PM                  VV\        VPO                  4       4      ,           VRR
7      p\        PJ                  PM                  VV\        VPO                  4       4      ,           VRR
7      p\%        VVRR7       F&  w  ppVP3                  VVV P4                  ^ RR7       K(  	  V'       dl   VPQ                  4       PS                  4       \Q        R V 4       4      ,           pVPQ                  4       PS                  4       \Q        R V 4       4      ,           pMNVPQ                  4       \Q        R V 4       4      ,           pVPQ                  4       \Q        R V 4       4      ,           p\        PJ                  PM                  VVV3,           \        VPO                  4       4      ,           RR7      p\        PJ                  PM                  VVV3,           \        VPO                  4       4      ,           RR7      pVP3                  XXV P4                  ^ RR7       \%        VVRR7       F&  w  ppVP3                  VVV P4                  ^ RR7       K(  	  V PU                  WV4       RRR4       R#   + '       g   i     R# ; i)úExcluded from CUDA testsc              3   ó’   "  € T F=  p\        V\        P                  4      ;'       d    VP                  P                  x € K?  	  R # 5irc   )rÄ  r4   rÎ  r¼   Ú
is_complex©ré  r6   s   & r*   rê  Ú'ModuleTest.test_cuda.<locals>.<genexpr>ì  s3   é € Ð&sÑcrÐ^_¤z°!´U·\±\Ó'B×'YÐ'YÀqÇwÁw×GYÑGYÔ'YÓcrùs
   ‚%A¨ATF)Útype_maprâ  rÊ  ©rÌ  rÍ  r¬  rË  )r;  )r  c              3   ó\   "  € T F"  qP                  4       P                  4       x € K$  	  R # 5irc   ©rƒ  rB  ©ré  r‘  s   & r*   rê  rÜ  +  ó   é € Ð>eÑVdÐQR¿u¹u»w¿{¹{¿}¸}ÓVdùó   ‚*,c              3   ó\   "  € T F"  qP                  4       P                  4       x € K$  	  R # 5irc   rà  rá  s   & r*   rê  rÜ  ,  râ  rã  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irc   ©rƒ  rá  s   & r*   rê  rÜ  .  ó   é € Ð8YÉ.ÀQ¿¹¿¸Ë.ùr<  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irc   ræ  rá  s   & r*   rê  rÜ  /  rç  r<  )Úretain_graphN)+r   r¥  ÚunittestÚSkipTestr   rG   r’  r4   r[   ÚfloatrÄ  rÆ  rÏ  r   rŽ   rA   Úcudar  r   rµ  Úcopy_r4  r  r	  r#   r®  r­   r!  r±  rÐ  r€   r  rW   r¢  Ú
randn_likerQ  r;  Úautogradr2  rÐ  rƒ  rB  r¯  )re   r•  Ú	cpu_inputrÝ  Úcpu_input_tupleÚis_any_input_complexÚgpu_input_tupleÚ
cpu_moduleÚ
gpu_moduleÚ	cpu_paramÚ	gpu_paramÚcpu_pÚgpu_pÚ
cpu_outputÚ
gpu_outputr<   Úcpu_gradOutputÚgpu_gradOutputÚcpu_gradInputÚgpu_gradInputÚcpu_d_pÚgpu_d_pÚcpu_gradInputsÚgpu_gradInputsÚcpu_d_iÚgpu_d_iÚoutputs_cpuÚoutputs_gpuÚcpu_ggÚgpu_ggs   &&                            r*   rM   ÚModuleTest.test_cudaâ  s*  € ß‹y × 5× 5Ð 5Ü×#Ò#Ð$>Ó?Ð?ä˜t×1Ñ1×2Õ2ØŸ™Ó)ˆIäŸ™¤e§k¡kÐ2ˆHÜ+5°iÄ×+GÒ+G™iÈiÈ\ˆOç#&£3Ñ&sÑcrÓ&s§3§3¢3Ñ&sÑcrÓ&sÓ#sÐ ä$ _ÔHˆOà×)Ò)¨4×+@Ñ+@ÑAˆJØ×)Ò)¨4×+@Ñ+@ÑA×GÑGÓI×NÑNÓPˆJØ!×1Ñ1°*Ó=ˆIØ!×1Ñ1°*Ó=ˆIÜ # I¨a¥L°)¸Aµ,Àt× L‘�Ø—
‘
× Ñ  Ö'ñ !Mð ×&Ñ& Ô7Ø×&Ñ& Ô7Ø×+Ñ+¨JÔ7Ø×+Ñ+¨JÔ7Ø"×+Ñ+¨JÓHˆJØ"×+Ñ+¨JÓHˆJÜ�zÐ#3°U×;Ò;Ø'¨�]�
Ø'¨�]�
Ø×!Ñ! *¸t¿~¹~ÐTUÐchÐ!Ôiô ˜1–X�Ø!+×!1Ñ!1Ó!3×!;Ñ!;Ó!=�Ø!/×!7Ñ!7¸
Ó!C�Ø )× 3Ñ 3°JÐQ[Ð]kÓ l�Ø )× 3Ñ 3°JÐQ[Ð]kÓ l�Ø×%Ñ% m°]ÈÏÉÐ^_ÐmrÐ%ÔsÜ(+¨I°a­L¸)ÀA½,Èt×(TÑ$�G˜WØ×)Ñ)¨'°7ÀÇÁÐVWÐ)ÖXó )Uñ ð ×"×"Ñ"¨4×+Q×+QÑ+QÙ'¨Ñ9�
Ù'¨Ñ9�
Ü˜:Ð'7¸×?Ò?Ø!+¨A¥�JØ!+¨A¥�Jä!&×!1Ò!1°*ÈDÔ!Q�Ø!/×!7Ñ!7¸
Ó!C×!JÑ!JÓ!L�Ø/3�Ô,ä!&§¡×!4Ñ!4ØØ#¤e¨J×,AÑ,AÓ,CÓ&DÕDØ"Ø!%ð	 "5ó "'�ô
 "'§¡×!4Ñ!4ØØ#¤e¨J×,AÑ,AÓ,CÓ&DÕDØ"Ø!%ð	 "5ó "'�ô ),¨N¸NÐSW×(XÑ$�G˜WØ×)Ñ)¨'°7ÀÇÁÐVWÐejÐ)Ökñ )Y÷ (Ø",§.¡.Ó"2×"6Ñ"6Ó"8¼3Ñ>eÑVdÓ>eÓ;eÕ"e�KØ",§.¡.Ó"2×"6Ñ"6Ó"8¼3Ñ>eÑVdÓ>eÓ;eÕ"e‘Kà",§.¡.Ó"2´SÑ8YÉ.Ó8YÓ5YÕ"Y�KØ",§.¡.Ó"2´SÑ8YÉ.Ó8YÓ5YÕ"Y�KäŸ™×,Ñ,ØØ# ~Ð&7Õ7¼%À
×@UÑ@UÓ@WÓ:XÕXØ!%ð -ó '�ô Ÿ™×,Ñ,ØØ# ~Ð&7Õ7¼%À
×@UÑ@UÓ@WÓ:XÕXØ!%ð -ó '�ð ×%Ñ% m°]ÈÏÉÐ^_ÐmrÐ%ÔsÜ(+¨F°FÀ4×(HÑ$�G˜WØ×)Ñ)¨'°7ÀÇÁÐVWÐejÐ)Ökñ )Ið ×Ñ 	°ÔG÷o 3×2×2Ò2ús.   ÁAXÂ)XÂ=IXÌXÌ,D0XÑF3XØX+	)r¢  r£  rW   rG   r>  r­   r¥  r¦  )rk   rl   rm   rn   r   rŸ  rr  r–  r½  r¯  rM   ro   rp   Ú__classcell__©r©  rq   s   @@r*   r›  r›  v  s;   ù‡ € à÷"ó ð"õ;ò4ò6ò0#U÷J[Hò [Hr,   r›  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚInputVariableMixini@  c                óL   a€ \         P                  V R 4      pV3R loS! V4      # )Fc                 óä   <€ \        V \        P                  4      '       d6   V P                  4       '       g   V P	                  4       '       d   R V n        V # \        V 4      ! V3R lV  4       4      # )Tc              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5irc   rd   )ré  r$  Úmap_variabless   & €r*   rê  ÚGInputVariableMixin._get_input.<locals>.map_variables.<locals>.<genexpr>J  s   øé € ÐA¹q°t™}¨T×2Ð2»qùó   ƒ)rÄ  r4   rÎ  Úis_floating_pointrÚ  r;  r}  )r:   r  s   &€r*   r  Ú4InputVariableMixin._get_input.<locals>.map_variablesD  sN   ø€ Ü˜!œUŸ\™\×*Ò*Ø×&Ñ&×(Ò(¨A¯L©L¯NªNØ&*�A”OØ�ä˜A”wÔA¹qÓAÓAÐAr,   )rh  r’  )re   rÁ  r  s   & @r*   r’  ÚInputVariableMixin._get_inputA  s(   ø€ Ü×#Ñ# D¨%Ó0ˆõ	Bñ ˜UÓ#Ð#r,   rd   N)rk   rl   rm   rn   r’  ro   rp   rf  s   @r*   r  r  @  s   ø‡ € ÷$ð $r,   r  c                   óT   a a€ ] tR tRt oV 3R ltR tR tR t]R 4       t	Rt
VtV ;t# )ÚNewModuleTestiO  c                ó|  <€ \         SV `  ! V/ VB  VP                  R R4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR	4      V n	        VP                  R
R4      V n
        VP                  RR4      V n        VP                  RR4      V n        VP                  R4      V n        VP                  RR4      V n        VP                  RR4      V n        R# )rÖ  FÚcheck_inplacerW   TÚskip_doubler>  rE   rF   çü©ñÒMbP?Útest_cpuri  rX   rß  r  Úsupports_fwgrad_bwgradN)r¤  rr  r%  rÖ  r  rW   r  r>  rE   rF   r  ri  rX   rß  r  r   r¨  s   &*,€r*   rr  ÚNewModuleTest.__init__P  s  ø€ Ü‰Ò˜$Ð) &Ò)Ø—Z‘Z ¨Ó/ˆŒ
Ø#ŸZ™Z¨¸Ó?ˆÔØ$Ÿj™jÐ)9¸4Ó@ˆÔØ!Ÿ:™: m°UÓ;ˆÔØŸ™ K°Ó7ˆŒØŸ™ K°Ó7ˆŒØ$Ÿj™jÐ)9¸5ÓAˆÔØŸ
™
 :¨tÓ4ˆŒØ$*§J¡JÐ/EÀuÓ$MˆÔ!Ø"(§*¡*Ð-AÀ4Ó"HˆÔØ#)§:¡:Ð.CÓ#DˆÔ Ø#)§:¡:Ð.CÀUÓ#KˆÔ Ø&,§j¡jÐ1IÈ5Ó&QˆÖ#r,   c           
     ó´  aaa€ \         ;QJ d"    . R  SP                  4        4       F  NK  	  5M! R  SP                  4        4       4      p\        V4      oVVV3R lpV P                  '       dN   S^8w  d   \	        RS 24      h\
        P                  ! V^ ,          4      pSP                  SV^ ,          V4       MCSP                  \        WSV,           V P                  V P                  V P                  R7      4       V P                  '       dF   SP                  \        WSV,           V P                  V P                  V P                  R7      4       R# R# )c              3   ó$   "  € T F  qx € K  	  R # 5irc   rd   rá  s   & r*   rê  Ú1NewModuleTest._check_gradients.<locals>.<genexpr>a  s   é € Ð6Ñ"5˜Q”qÓ"5ùó   ‚c                  óZ   <€ V'       d   \        R V 24      hSP                  SV RS 4      # )zExpected no kwargs, got N)r&   r	  )Úinputs_and_paramsrh   rÑ  Ú
num_inputsr•  s   *,€€€r*   Úfn_to_gradcheckÚ7NewModuleTest._check_gradients.<locals>.fn_to_gradcheckd  s4   ø€ ßÜ$Ð'?À¸xÐ%HÓIÐIØ×%Ñ% fÐ.?ÀÀÐ.LÓMÐMr,   zExpected num_inputs == 1, got )rX   Ú	fast_modeÚcheck_forward_ad)rX   r+  Úcheck_fwd_over_revN)rÆ  rÐ  rz  ri  r&   r4   r  rb  Ú
assertTruer   rX   rß  r  rW   r   r   )re   r•  rÑ  Úinput_tupleÚparamsr)  Útest_input_jacobianr(  s   &ff&   @r*   Ú_check_gradientsÚNewModuleTest._check_gradients`  s  ú€ ß”Ñ6 &×"3Ñ"3Ô"5Ó6—‘Ñ6 &×"3Ñ"3Ô"5Ó6Ó6ˆÜ˜Ó%ˆ
÷	Nð ×$×$Ð$Ø˜QŒÜ$Ð'EÀjÀ\Ð%RÓSÐSÜ"'×"9Ò"9¸+Àa½.Ó"IÐØ×$Ñ$ V¨[¸­^Ð=PÕQà× Ñ ¤¨?È&Õ<PØ>B×>UÑ>UØ59×5MÑ5MØ<@×<TÑ<Tô"Vô Wð
 ××ÐØ× Ñ ¤¨ÈfÕ@TØBF×BYÑBYØ9=×9QÑ9QØBF×B]ÑB]ô"_ö `ñ r,   c                ó"  aaaaaa€ \         P                  ! 4       p\         P                  ! ^4       \        V\        4      '       d   TMV3pV P                  SSV4       SP                  4        V P                  '       Ed   \        V4      ^8w  d   \        R\        V4       24      hV^ ,          pV P                  ! V P                  RR/ pVP                  p\        4       ;_uu_ 4        S! V4      pRRR4       SP                  VP                  V4       \        V4      p	V	P!                  4       p
\        4       ;_uu_ 4        V! V
4      pRRR4       SP#                  V
P                  V4       SP                  XX4       VP$                  P!                  4       P'                  4       pVP(                  eA   \         P*                  ! 4       ;_uu_ 4        VP(                  P-                  4        RRR4       V	P(                  eA   \         P*                  ! 4       ;_uu_ 4        V	P(                  P-                  4        RRR4       VP/                  V4       VP/                  V4       SP                  VP(                  V	P(                  4       RVV3R llp\0        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       Ed8   \2        '       Ed+   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pSP5                  4       P7                  4        S! V!   V! \         P6                  P8                  ^ 4       \         P6                  P;                  4       ^8”  d•   \        ;QJ d    . R	 V 4       F  NK  	  5M! R	 V 4       4      pSP7                  ^4       \         P6                  P=                  ^4      ;_uu_ 4        S! V!   RRR4       V! \         P6                  P8                  ^4       EM`R
 oV3R loV3R loV3R lo\        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pSP5                  4        S! V!   V! \         P8                  4       \        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pSP?                  4        S! V!   V! \         P@                  4       \2        '       Edƒ   V PB                  '       Edp   \        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pSP5                  4       P7                  4        S! V!   V! \         P6                  P8                  ^ 4       \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pSPE                  4        S! V!   V! \         P8                  4       \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pSP7                  4        S! V!   V! \         P6                  P8                  ^ 4       V PF                  '       dc   \         PH                  PF                  PK                  RR7      ;_uu_ 4        S! V!   V! \         P6                  P8                  ^ 4       RRR4       \         P6                  P;                  4       ^8¼  d•   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pSP7                  ^4       \         P6                  P=                  ^4      ;_uu_ 4        S! V!   RRR4       V! \         P6                  P8                  ^4       V PL                  '       gx   \        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pSP?                  4       P7                  4        S! V!   V! \         P6                  P@                  ^ 4       V PN                  '       gx   \        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pSPQ                  4       P7                  4        S! V!   V! \         P6                  PR                  ^ 4       \         P                  ! V4       R#   + '       g   i     EL˜; i  + '       g   i     ELR; i  + '       g   i     ELÂ; i  + '       g   i     ELˆ; i  + '       g   i     ELü; i  + '       g   i     ELV; i  + '       g   i     ELÔ; i)rT   z$Expected len(input_tuple) == 1, got ÚinplaceTNc                 ó¤   <€ SP                  4        F:  pSP                  W 4       Vf   K  SP                  VP                  4       V4       K<  	  R # rc   )rÐ  ÚassertIsInstancer®  Ú
get_device)Útensor_typeÚ	device_idr;   rÑ  r•  s   && €€r*   Úassert_module_parameters_areÚ<NewModuleTest._do_test.<locals>.assert_module_parameters_areª  s@   ø€ Ø×&Ñ&Ö(�Ø×*Ñ*¨1Ô:ØÔ(Ø×)Ñ)¨!¯,©,«.¸)ÖDó )r,   c              3   óV   "  € T F  p\        V\        P                  4      x € K!  	  R # 5irc   )rÄ  r4   Ú
LongTensorrÛ  s   & r*   rê  Ú)NewModuleTest._do_test.<locals>.<genexpr>°  s    é € ÐD¹°1Œz˜!œU×-Ñ-×.Ð.»ùs   ‚')Fc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irc   ©rí  rÛ  s   & r*   rê  r?  ³  s   é € Ð>±+¨Q§¡§ ³+ùr<  c              3   óB   "  € T F  qP                  ^4      x € K  	  R# 5irç  rA  rÛ  s   & r*   rê  r?  ¹  s   é € Ð#C±{°!§F¡F¨1§I I³{ùó   ‚c                 ó¢   € V P                  4       '       d   V P                  V4      # V P                  4       '       d   V P                  V4      # V # rc   )rÚ  r¯   r  )rì  Úrealr=  s   &&&r*   Úto_typeÚ'NewModuleTest._do_test.<locals>.to_typeÀ  sB   € Ø×$Ñ$×&Ò&Ø!Ÿ9™9 WÓ-Ð-Ø×-Ñ-×/Ò/Ø!Ÿ9™9 T›?Ð*à!�Mr,   c                 ó4   <€ S! V \         P                  R 4      # rc   )r4   Úfloat16©r‘  rF  s   &€r*   Úto_halfÚ'NewModuleTest._do_test.<locals>.to_halfÈ  s   ø€ á˜q¤%§-¡-°Ó6Ð6r,   c                 óP   <€ S! V \         P                  \         P                  4      # rc   )r4   Úfloat32Ú	complex64rJ  s   &€r*   Ú	to_singleÚ)NewModuleTest._do_test.<locals>.to_singleÌ  s   ø€ Ù˜q¤%§-¡-´·±ÓAÐAr,   c                 óP   <€ S! V \         P                  \         P                  4      # rc   )r4   r  r<  rJ  s   &€r*   Ú	to_doubleÚ)NewModuleTest._do_test.<locals>.to_doubleÏ  s   ø€ Ù˜q¤%§-¡-´×1AÑ1AÓBÐBr,   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5irc   rd   ©ré  r6   rP  s   & €r*   rê  r?  Ó  ó   øé € ÐB±k°¡	¨!§ ³kùr  c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5irc   rd   ©ré  r6   rS  s   & €r*   rê  r?  Ù  rW  r  c              3   óP   <"  € T F  pS! V4      P                  4       x € K  	  R # 5irc   rA  rV  s   & €r*   rê  r?  ã  s!   øé € Ð#MÁ¸A¡I¨a£L×$5Ñ$5×$7Ð$7Ãùó   ƒ#&c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irc   )ÚcpurÛ  s   & r*   rê  r?  é  s   é € Ð#A±[°§E¡E§G G³[ùr<  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5irc   rA  rÛ  s   & r*   rê  r?  ï  s   é € Ð#B±k°§F¡F§H H³kùr<  )Úenabledc              3   óB   "  € T F  qP                  ^4      x € K  	  R# 5irç  rA  rÛ  s   & r*   rê  r?  ý  s   é € Ð'G¹;°a¯©¨q¯	¨	»;ùrC  c              3   óP   <"  € T F  pS! V4      P                  4       x € K  	  R # 5irc   rA  rY  s   & €r*   rê  r?    s!   øé € Ð'QÁ[À©	°!«×(9Ñ(9×(;Ð(;Ã[ùr[  c              3   óP   <"  € T F  pS! V4      P                  4       x € K  	  R # 5irc   rA  )ré  r6   rK  s   & €r*   rê  r?    s   øé € Ð'OÁ;¸a©°«
¯©×(9Ð(9Ã;ùr[  rc   )*r4   Úget_num_threadsÚset_num_threadsrÄ  rÆ  r2  Ú__repr__r  rz  r&   rŽ   rA   Ú_versionr   r®  r   r±  ÚassertNotEqualrµ  rÐ  r2  Úno_gradr€  ÚbackwardÚallr   rì  rí  ÚFloatTensorÚdevice_countr¬  r[   ÚDoubleTensorr¥  r]  rÖ  ÚbackendsÚflagsr  r>  ÚhalfÚ
HalfTensor)re   r•  rÑ  rÁ  Únum_threadsr/  Ú	module_ipÚinput_versionr<  Úinput_ipÚinput_ip_cloneÚ	output_ipr2  r;  rS  rK  rP  rF  s   &ff&          @@@@r*   rŸ  ÚNewModuleTest._do_test~  s  ý€ Ü×+Ò+Ó-ˆÜ×Ò˜aÔ Ü)¨%´×7Ò7‘e¸e¸Xˆà×Ñ˜i¨°Ô=ð 	�‰Ôà××Ñô �;Ó 1Ô$Ü$Ð'KÌCÐP[ÓL\ÐK]Ð%^Ó_Ð_Ø •NˆEà×(Ò(¨$×*?Ñ*?ÐNÈÑNˆIà!ŸN™NˆMÜ!×#Õ#Ù ›�÷ $à×!Ñ! %§.¡.°-Ô@ä “ˆHØ%Ÿ^™^Ó-ˆNÜ!×#Õ#Ù% nÓ5�	÷ $à×$Ñ$ ^×%<Ñ%<¸mÔLØ×!Ñ! &¨)Ô4Ø—;‘;×$Ñ$Ó&×.Ñ.Ó0ˆDØ�z‰zÒ%Ü—]’]—_•_Ø—J‘J×$Ñ$Ô&÷ %à�}‰}Ò(Ü—]’]—_•_Ø—M‘M×'Ñ'Ô)÷ %à�O‰O˜DÔ!Ø×Ñ˜tÔ$Ø×!Ñ! %§*¡*¨h¯m©mÔ<÷	Eð 	E÷ ‹3ÑD¹ÓD�3�3Š3ÑD¹ÓD×DÓDÏÌ÷  œ%Ñ>±+Ó>Ÿ%™%Ñ>±+Ó>Ó>ˆKØ�L‰L‹N×ÑÔ!Ù�KÒ Ù(¬¯©×)?Ñ)?ÀÔCä�z‰z×&Ñ&Ó(¨1Ô,ß#œeÑ#C±{Ó#CŸe™eÑ#C±{Ó#CÓC�Ø—‘˜A”Ü—Z‘Z×&Ñ& q×)Õ)Ù˜KÒ(÷ *á,¬U¯Z©Z×-CÑ-CÀQÔGùò"õ7õBõC÷  œ%ÔB±kÓBŸ%™%ÔB±kÓBÓBˆKØ�L‰LŒNÙ�KÒ Ù(¬×):Ñ):Ô;÷  œ%ÔB±kÓBŸ%™%ÔB±kÓBÓBˆKØ�M‰MŒOÙ�KÒ Ù(¬×);Ñ);Ô<çŒy˜T×2×2Ñ2÷
 $œeÔ#MÁÓ#MŸe™eÔ#MÁÓ#MÓM�Ø—‘“×#Ñ#Ô%Ù˜Ò$Ù,¬U¯Z©Z×-CÑ-CÀQÔG÷ $œeÑ#A±[Ó#AŸe™eÑ#A±[Ó#AÓA�Ø—
‘
”Ù˜Ò$Ù,¬U×->Ñ->Ô?÷ $œeÑ#B±kÓ#BŸe™eÑ#B±kÓ#BÓB�Ø—‘”Ù˜Ò$Ù,¬U¯Z©Z×-CÑ-CÀQÔGð —:—:�:ÜŸ™×-Ñ-×3Ñ3¸EÐ3×BÕBÙ Ò,Ù4´U·Z±Z×5KÑ5KÈQÔO÷ Cô —:‘:×*Ñ*Ó,°Ô1÷ #(¤%Ñ'G¹;Ó'G§%¡%Ñ'G¹;Ó'GÓ"G�KØ—K‘K ”NÜŸ™×*Ñ*¨1×-Õ-Ù Ò,÷ .á0´·±×1GÑ1GÈÔKà×'×'Ð'ç"'¤%Ô'QÁ[Ó'Q§%¡%Ô'QÁ[Ó'QÓ"Q�KØ—M‘M“O×(Ñ(Ô*Ù˜KÒ(Ù0´·±×1HÑ1HÈ!ÔLð —~—~�~ß"'¤%Ô'OÁ;Ó'O§%¡%Ô'OÁ;Ó'OÓ"O�KØ—K‘K“M×&Ñ&Ô(Ù˜KÒ(Ù0´·±×1FÑ1FÈÔJÜ×Ò˜kÖ*÷w $×#Ð#ú÷ $×#Ð#ú÷ %—_�_ú÷ %—_�_ú÷. *×)Ð)ú÷v C×BÐBú÷ .×-Ð-úsT   Ã-	bÅ	bÇb-È'cÏcÙ4(c)Ü+c=âb	âb*	â-b>	ãc	ãc&	ã)c:	ã=d	c                ó&   € V P                  R R4      # ©r]  Fr�  rƒ  s   &r*   Ú_get_targetÚNewModuleTest._get_target  ó   € Ø�}‰}˜X uÓ-Ð-r,   c                ó&   € V P                  R R4      # ©rA   Fr�  rƒ  s   &r*   rA   ÚNewModuleTest.constructor_args  ó   € à�}‰}Ð/°Ó7Ð7r,   )rX   rW   r  rÖ  rß  ri  r  r>  r  r   r  rF   rE   )rk   rl   rm   rn   rr  r2  rŸ  r{  r™  rA   ro   rp   r  r  s   @@r*   r  r  O  s6   ù‡ € õRò `ò<R+òh.ð ñ8ó ÷8ð 8r,   r  c                   ó    a a€ ] tR tRt o]P
                  P                  R04      tV 3R ltR tR
R lt	R t
]R 4       t]R 4       tR	tVtV ;t# )ÚCriterionTesti  r]  c                ót  <€ \         SV `  ! V/ VB  VP                  R R4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n        VP                  RR4      V n	        VP                  R	R4      V n
        VP                  R
R4      V n        VP                  RR4      V n        VP                  R4      V n        V P                  f   \        P                  ! 4       V n        R# R# )rM   Tr£  FrW   rà  Úcheck_bfloat16Úcheck_complexr  rE   rF   r  rX   rG   N)r¤  rr  r%  r¥  r£  rW   rà  r…  r†  r  rE   rF   rX   rG   r4   r§  r¨  s   &*,€r*   rr  ÚCriterionTest.__init__  s  ø€ Ü‰Ò˜$Ð) &Ò)Ø &§
¡
¨;¸Ó =ˆÔØ"(§*¡*Ð-AÀ5Ó"IˆÔØ$Ÿj™jÐ)9¸4Ó@ˆÔØ Ÿ*™* \°4Ó8ˆŒØ$Ÿj™jÐ)9¸5ÓAˆÔØ#ŸZ™Z¨¸Ó?ˆÔØŸ
™
 :¨tÓ4ˆŒØŸ™ K°Ó6ˆŒØ$Ÿj™jÐ)9¸5ÓAˆÔØ"(§*¡*Ð-AÀ4Ó"HˆÔØ#ŸZ™Z¨Ó8ˆÔØ×ÑÒ%Ü!&×!8Ò!8Ó!:ˆDÖñ &r,   c           	     óò  a
€ \        V P                  4      ;_uu_ 4        V P                  ! V P                  !  o
V P	                  4       pS
P                  4        \        S
4       V P                  4       pV P                  eo   VP                  S
W#V P                  R7      p\        V4      \        V4      3V P                  ,           S
3,           pV P                  ! V!  pVP                  WF4       V P                  '       d    R R R 4       R # \        ;QJ d"    . R S
P                  4        4       F  NK  	  5M! R S
P                  4        4       4      p\!        V\        4      '       g   V3V,           V3,           pV
3R lp	MW',           V3,           pV
3R lp	\#        W˜V P$                  R7       V P&                  '       d   \)        W˜V P$                  R7       R R R 4       R #   + '       g   i     R # ; i)N©rl  c              3   ó$   "  € T F  qx € K  	  R # 5irc   rd   rá  s   & r*   rê  Ú)CriterionTest.__call__.<locals>.<genexpr>C  s   é € Ð:Ñ&9 œ1Ó&9ùr%  c                 ó   <€ S! W4      # rc   rd   )rÁ  r]  r0  rÑ  s   &&*€r*   Úapply_fnÚ(CriterionTest.__call__.<locals>.apply_fnG  s   ø€ Ù! %Ó0Ð0r,   c                 ó   <€ S! WV4      # rc   rd   )rš  r›  r]  r0  rÑ  s   &&&*€r*   r�  rŽ  L  s   ø€ Ù! &°&Ó9Ð9r,   )rX   )r   rG   rŽ   rA   r’  re  r”  r{  rD   Ú_forward_criterionrl  r   r®  r£  rÆ  rÐ  rÄ  r   rX   rW   r   )re   r•  rÁ  r]  rµ  Úref_argsr¸  r0  Úinputsr�  rÑ  s   &&        @r*   r–  ÚCriterionTest.__call__/  s…  ø€ Ü˜t×1Ñ1×2Õ2Ø×%Ò% t×'<Ñ'<Ñ=ˆFØ—O‘OÓ%ˆEð �O‰OÔÜ�ŒKà×%Ñ%Ó'ˆFà× Ñ Ò,Ø×2Ñ2°6¸5ÐUY×UdÑUdÐ2Óe�Ü$ U›O¬X°fÓ-=Ð>ÀÇÁÕPÐTZÐS\Õ\�Ø#×0Ò0°(Ñ;�Ø×%Ñ% cÔ8à×&×&Ð&Ø÷# 3Ñ2÷& ”UÑ: f×&7Ñ&7Ô&9Ó:—U‘UÑ: f×&7Ñ&7Ô&9Ó:Ó:ˆFÜ˜e¤U×+Ò+Ø˜ FÕ*¨f¨YÕ6�ö1ð �¨6¨)Õ3�õ:ô �h¸4×;RÑ;RÕSà×"×"Ð"Ü˜hÀ4×CZÑCZÕ[÷E 3×2×2Ò2ús   ŸC#G%ÄG%Ä
G%ÄCG%Ç%G6	c           
     óð  a€ R	V3R llo\         '       d   V P                  '       g   \        P                  ! R4      h\	        V P
                  4      ;_uu_ 4        V P                  4       pV P                  4       pV P                  ! V P                  !  pV P                  ! V P                  !  pS! WBR4      pVP                  4       '       g   VP                  4       '       d	   S! WR4      pVP                  V4       VP                  V4       \        V4      p\        V4      p	VP                  4        V\        P                   \        P"                  09   d;   V P                  4       pV P                  4       pV P                  ! V P                  !  pVP%                  WdWSR7      p
VP%                  WxW“R7      pTP'                  Y«V\        P                   \        P"                  09   d   RMR^ R R7       VP)                  WdW¥VR7      pVP)                  WxW¹VR7      pTP'                  YÍV\        P                   \        P"                  09   d   RMR^ R R7       RRR4       R#   + '       g   i     R# ; i)
Fc                 óB  <aa€ \        V \        P                  4      '       d0   V P                  4       P	                  SR 7      P                  S4      # \        V \        4      '       d7   \        ;QJ d    . VVV3R lV  4       F  NK  	  5# ! VVV3R lV  4       4      # V # )r»   c              3   ó8   <"  € T F  pS! VSS4      x € K  	  R # 5irc   rd   )ré  r¾  Úconvert_dtyper¼   r;  s   & €€€r*   rê  ÚACriterionTest.test_cuda.<locals>.convert_dtype.<locals>.<genexpr>Y  s   øé € ÐQÉSÈ™]¨1¨e°]×CÐCËSùs   ƒ)rÄ  r4   rÎ  rQ  r¯   Úrequires_grad_rÆ  )rÃ  r¼   r;  r—  s   &ff€r*   r—  Ú.CriterionTest.test_cuda.<locals>.convert_dtypeU  sj   ú€ Ü˜#œuŸ|™|×,Ò,Ø—z‘z“|—‘¨U�Ó3×BÑBÀ=ÓQÐQÜ˜C¤×'Ò'ß”uÖQÉSÓQ—uÐQ�uÖQÉSÓQÓQÐQà�
r,   rØ  Tr‰  rÂ  g-Cëâ6:?rÞ  Nrd  )r   r¥  rê  rë  r   rG   r’  r{  rŽ   rA   r  rÚ  r}  r   rí  r4   rp  Úbfloat16r�  r®  Ú_backward_criterion)re   r•  r¼   rl  rñ  Ú
cpu_targetrõ  rö  Ú	gpu_inputÚ
gpu_targetrû  rü  rÿ  r   r—  s   &&&&          @r*   rM   ÚCriterionTest.test_cudaT  s  ø€ ÷	÷ ‹y × 5× 5Ð 5Ü×#Ò#Ð$>Ó?Ð?ä˜t×1Ñ1×2Õ2ØŸ™Ó)ˆIØ×)Ñ)Ó+ˆJØ×)Ò)¨4×+@Ñ+@ÑAˆJØ×)Ò)¨4×+@Ñ+@ÑAˆJñ & i¸Ó=ˆIØ×+Ñ+×-Ò-°×1FÑ1F×1HÒ1HÙ*¨:Ó=�
Ø�O‰O˜EÔ"Ø�O‰O˜EÔ"ô ˜yÓ)ˆIÜ 
Ó+ˆJØ�O‰OÔð œŸ™¤U§^¡^Ð4Ô4Ø ŸO™OÓ-�	Ø!×-Ñ-Ó/�
à!×-Ò-¨t×/DÑ/DÑE�
à"×5Ñ5°jÈZÐ5ÓoˆJØ"×5Ñ5°jÈZÐ5ÓoˆJà×!Ñ! *Ø/4¼¿¹ÄUÇ^Á^Ð8TÔ/T¡tÐZ^ÐefÐtyð "ô {ð &×9Ñ9Ø zÈ*ð :ó VˆMà%×9Ñ9Ø zÈ*ð :ó VˆMð ×!Ñ! -Ø/4¼¿¹ÄUÇ^Á^Ð8TÔ/T¡tÐZ^ÐefÐtyð "ô {÷I 3×2×2Ò2ús   ÁB	I$Ã%E5I$É$I5	c                ó&   € V P                  R R4      # rz  r�  rƒ  s   &r*   r{  ÚCriterionTest._get_target‡  r}  r,   c                ó&   € V P                  R R4      # r  r�  rƒ  s   &r*   rA   ÚCriterionTest.constructor_argsŠ  r�  r,   c                ó&   € V P                  R R4      # )rl  Fr�  rƒ  s   &r*   rl  ÚCriterionTest.extra_argsŽ  s   € à�}‰}˜\¨5Ó1Ð1r,   )rX   r…  r†  r£  rW   rà  rG   r¥  r  rF   rE   rc   )rk   rl   rm   rn   rh  rm  Úunionrr  r–  rM   r{  r™  rA   rl  ro   rp   r  r  s   @@r*   rƒ  rƒ    se   ù‡ € ð #×6Ñ6×<Ñ<¸h¸ZÓHÐõ;ò #\ôJ1{òf.ð ñ8ó ð8ð ñ2ó ÷2ð 2r,   rƒ  c                 ó¾  € \         P                  ! V\         P                  VR R7      pVeK   \         P                  ! V\         P                  VR7      V,          P                  4       P                  4       pV! V4      p\         P                  ! WrR7      pVP                  V4       VP	                  4       p	VP                  4       P	                  4       P                  4       p
VP	                  4       pV	! V
4      pVP                  V4       V P                  W|WDRR7       V P                  VP                  P                  V
P                  P                  WDRR7       R# )T)r¼   r¬  r;  Nr«  )r¬  FrÞ  )r4   r”   rN  r‡   r›  rì  r™  rï  ri  rQ  r®  r2  rµ  )r•  Úopr¬  Úinp_dimsÚprecrp  rš  Úout1Úgrad_input1Úop_bfp16r›  Úgrad_input2Úout2s   &&&&&&       r*   Ú_test_bfloat16_opsr±  “  s  € ä�[Š[˜¬¯©¸vÐUYÔZ€FØÒÜ—*’*˜X¬U¯^©^ÀFÔKÈlÕZ×aÑaÓc×rÑrÓtˆÙˆf‹:€DÜ×"Ò" 4Ô7€KØ‡M�M�+Ôð �{‰{‹}€HØ�]‰]‹_×%Ñ%Ó'×6Ñ6Ó8€FØ×&Ñ&Ó(€KÙ�FÓ€DØ‡M�M�+Ôà×Ñ˜$¨4ÈÐÔNØ×Ñ˜&Ÿ+™+×*Ñ*¨F¯K©K×,<Ñ,<À4Ð`eÐÖfr,   c                 óP  € V'       g   VP                  R 4       V! V4      pV'       g(   \        P                  ! V4      pVP                  V4       V'       d/   V P	                  VP                  4       VP                  4       4       V'       g˜   VP                  4        FQ  pVP                  '       g   K  V P	                  VP                  \        P                  ! VP                  4      4       KS  	  V P	                  VP                  \        P                  ! V4      4       R# R# )TN)
r™  r4   Ú	rand_likeri  r®  r\   rÐ  r;  r2  r=  )r•  rÑ  rÉ  Ú
check_sizeÚ	inferencerµ  ÚgOr;   s   &&&&&   r*   Ú_test_module_empty_inputr·  ¦  sÀ   € ßØ×Ñ˜4Ô Ù
�‹+€CßÜ�_Š_˜SÓ!ˆØ�‰�RÔßØ×Ñ˜cŸh™h›j¨#¯(©(«*Ô5ßØ×"Ñ"Ö$ˆAØ��ŠØ×%Ñ% a§f¡f¬e×.>Ò.>¸q¿v¹vÓ.FÖGñ %ð 	×Ñ˜cŸh™h¬×(8Ò(8¸Ó(=Ö>ñ	 r,   c                  ó¾   a€  ! R  R\         P                  4      o ! V3R lR\         P                  4      p S! 4       pV ! 4       p\         P                  ! W"4      pWV3# )c                   ó>   a a€ ] tR tRt oV3R lV 3R lltRtVtV ;t# )Ú _create_basic_net.<locals>.Layeri·  c                ó   <€ V ^8„  d   QhRR/# ©r4  r  Nrd   )r  rq   s   "€r*   r  Ú-_create_basic_net.<locals>.Layer.__annotate__¸  s   ø€ ÷ 	Fñ 	F˜dñ 	Fr,   c                óè   <€ \         SV `  4        \        P                  ! \        P
                  ! ^^4      4      V n        \        P                  ! \        P                  ! ^^^^4      4      V n	        R# ©rh  N)
r¤  rr  rt   r  r4   r‡  Úlayer_dummy_paramÚBufferr9  Úlayer_dummy_buf)re   r©  s   &€r*   rr  Ú)_create_basic_net.<locals>.Layer.__init__¸  sJ   ø€ Ü‰GÑÔÜ%'§\¢\´%·+²+¸aÀÓ2CÓ%DˆDÔ"Ü#%§9¢9¬U¯[ª[¸¸A¸qÀ!Ó-DÓ#EˆDÖ r,   )rÂ  rÀ  ©rk   rl   rm   rn   rr  ro   rp   r  r  s   @@r*   ÚLayerrº  ·  s   ù‡ € ÷	F÷ 	Fó 	Fr,   rÅ  c                   óB   <a a€ ] tR tRt oV3R lVV 3R lltRtVtV ;t# )Ú_create_basic_net.<locals>.Neti½  c                ó   <€ V ^8„  d   QhRR/# r¼  rd   )r  rq   s   "€r*   r  Ú+_create_basic_net.<locals>.Net.__annotate__¾  s   ø€ ÷ 	@ñ 	@˜dñ 	@r,   c                ó   <€ \         SV `  4        S! 4       V n        \        P                  ! \
        P                  ! ^^4      4      V n        \        P                  ! \
        P                  ! ^^^^4      4      V n
        R# r¿  )r¤  rr  Úl1rt   r  r4   r‡  Údummy_paramrÁ  r9  Ú	dummy_buf)re   rÅ  r©  s   &€€r*   rr  Ú'_create_basic_net.<locals>.Net.__init__¾  sR   ø€ Ü‰GÑÔÙ“gˆDŒGÜ!Ÿ|š|¬E¯KªK¸¸1Ó,=Ó>ˆDÔÜŸYšY¤u§{¢{°1°a¸¸AÓ'>Ó?ˆDŽNr,   )rÍ  rÌ  rË  rÄ  )r©  rq   rÅ  s   @@€r*   ÚNetrÇ  ½  s   ú‡ € ÷	@÷ 	@ô 	@r,   rÏ  )rt   ru   Ú
Sequential)rÏ  Úlr‚  rŠ  rÅ  s       @r*   Ú_create_basic_netrÒ  ¶  sN   ø€ ôF”—	‘	ô F÷@Œb�i‰iô @ñ 	‹€AÙ‹€AÜ
�Š�aÓ€Aà�ˆ7€Nr,   c                ó¤   € V ^8„  d   Qh/ ^ \         9   d   \        R\        3,          ;R&   ^\         9   d   \        \        \        3,          ;R&   # )r4  r”  r   Ú,classification_criterion_no_batch_extra_info)Ú__conditional_annotations__r•   r   r”  )r  s   "r*   r  r     sM   € × Ñ ÷r`ò ”D˜¤˜Õ)ñ ñs` ÷Xdò ¬d´3¼°9­oñ òYd r,   )rx   r¤  )ri  rx   )rx   r¤  F)rT   r4  r4  r  )ri  ri  rj  rg  )rj  r?   r  r4  r  )rL  F)Nr\  rL  )NrL  rÏ  )Nr\  rL  rÏ  )NNNrL  rÏ  )rL  r  )rL  )r  rL  )rT   rT   NrL  )r   rL  )r  r4  rT  FrL  )ÚL1LossÚMSELossÚPoissonNLLLossr(  r  )r|   rL  rƒ  rü  )rd   r>   NrÎ  )ŸrÕ  Úabcr   r°  rê  Úcopyr   Ú	functoolsr   r   Ú	itertoolsr   Úoperatorr   r4   Ú
torch.cudaÚtorch.nnrt   Útorch.nn.functionalÚ
functionalr~   r	   r$   Útorch.testing._internalr
   Ú$torch.testing._internal.common_utilsr   r   r   r   r   r   r   r   r   Ú#torch.testing._internal.common_cudar   r   Útorch.autograd.gradcheckr   r   Útorch.autogradr   Útorch.typesr   Útorch.backends.cudnnÚtypingr   Úcollections.abcr   r   r±  r\  r+   r0   r•   r[   Úmodule_testsr^   rv   r—   r°   r¹   rÈ   rÐ   rá   ré   rð   r  r  r  r$  r+  r2  rE  rN  rV  rl  rr  r‹  r™  r¯  r¹  rÂ  rÎ  rÖ  rà  rè  rï  rø  r  r  r  r  r)  r:  rB  rN  rU  rc  rm  rv  r…  rŒ  r›  r¢  rª  r²  r¹  rÀ  rÓ  r0  r3  rB  rJ  rW  rZ  rf  ro  rt  rx  r}  rƒ  rˆ  rŠ  rŽ  r’  rœ  r§  r©  rÁ  r   Úcriterion_testsrÑ  Úregression_criterion_no_batchÚ
reductionsrÓ  r    Úregression_test_infor$  Ú!classification_criterion_no_batchrÔ  Úclassification_cpp_parityr�   rß  r%  Úclassification_test_infor/  r&  r  rh  r›  r  r  rƒ  r±  r·  rÒ  r  )rÕ  s   @r*   Ú<module>ró     sC  øð÷ Ò Û Û å ß %Ý Ý ó Û Ý ß Ð Ý -Ý 0÷S÷ Sõ Sç Fß KÝ #Ý (Û å Ý $Ý $à×&Ñ&€Ø€	òò'ñ| 	ØØ Ø>ØÙZØ÷  .‘t°5Ø—l‘lôñ 	ØØ'ØJØØÙ:Ø÷  .‘t°5Ø—l‘lôñ 	ØØØØ—l‘lô	ñ 	ØØ#ØNØØØØ—l‘lôñ 	ØØÙ6Ø—l‘lô	ñ 	Ø#Ø+Ø]ØØà Ø—l‘lô	ðc;€òB6ò
ò$ò$ò $òò(ò&ò$ò$ò$$ò ò"$ò $ò ò"$ò $òò$ò$ò $ò $ò"$ò$$ò,$ò.$ò.$ò"$ò$$ò,$ò"$ò$$ò,$ò"$ò"$ò"$ò"$ò"ò"$ò$$ò$$ò$$ò"$ò"$ò"$ò"$ò*$ò$$ò$$ò$$ò$$ò($ò,6ò"eôP3ôô6ô0&IôR
ô ô.ô,ô 	òô ô6ôòôô.ô ô ô"ðJ-ØÐ$ð-à™GÐ$7ÀDÔIð-ð Ð ð-ð Ð$ð	-ð
 Ð*ð-ð Ð$ð-ð Ð:ð-ð Ð6ð-ð Ð.ð-ð Ð0ð-ð Ð8ð-ð Ð4ð-ð Ð4ð-ð Ð ð-ð Ð4ð-ð  ÐAð!-Ð ó ð( €òòD!Ð ò %€
ÙÐ<¸jÖI�O€Dˆ)ÙØ�6˜¨	 {Ð3ØS tÓSØØØ8Ø!Ø—l‘lôÐð ×ÒÐ/Ö0ñ Jó €IÙØ*¨9¨+Ð6Ù=Ù/Ù*Ø8Ø!Ø—l‘lôÐð ×ÒÐ/Ö0ñ ð" 	ÙAÙIðð
 ÑDÑFpÐqØÑEÑGkÐlØÑGÑIlÐmØÑAÑCgÐhØÑPÑRiÐjàÙXÙ3ðð ÑDÑFdÐeð 	ÙXÙ2ðð
  Ñ!KÑMcÐdð1%Ð !ð6 Ð-¨uÐ5ðAÐ ,ó ð
 ˆuØ˜Ø˜%ØˆuØ�eðÐ ò %€
Ù.5Ð6WØ6@ö/BÑ*Ñ€Tˆ8�Y á#Ø�6˜¨	 {Ð3ØS tÓSØ"Ó'Ø$Ó)Ø8Ø Ø,×0Ò0°°tÓ<ô Ðð >×AÒAÀ$ÈÓK€JØ×#Ò# JÔ/Ø×ÒÐ3Ö4ñ/Bô x>�ô x>÷vM"ñ M"ô`GH�ô GH÷T$ñ $ôH8Ð&¨
ô H8ôVv2Ð&¨ô v2ôrgô&?ô r,   