+
     °³jÊ=  ã                   óê   € ^ RI Ht ^ RIt^ RIHtHt ^ RIHt ^ RIH	t
Ht ^RIHt ^RIHt ^RIHt  ! R	 R
]P&                  4      tR R ltR R lt ! R R]P                  P&                  4      tR# )é    )ÚOptionalN)ÚnnÚTensor)Ú
functional)ÚboxesÚConv2dNormActivation)Ú_utils)ÚAnchorGenerator)Ú	ImageListc                   óh   a a€ ] tR t^t oRt^tRV3R lV 3R llltV 3R ltV3R lR ltRt	Vt
V ;t# )	ÚRPNHeadz÷
Adds a simple RPN Head with classification and regression heads

Args:
    in_channels (int): number of channels of the input feature
    num_anchors (int): number of anchors to be predicted
    conv_depth (int, optional): number of convolutions
c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )é   Úin_channelsÚnum_anchorsÚreturnN©Úint)ÚformatÚ__classdict__s   "€Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/models/detection/rpn.pyÚ__annotate__ÚRPNHead.__annotate__   s"   ø€ ÷ ;ñ ;¡Cð ;±cð ;ÈDñ ;ó    c           
     ó¢  <€ \         SV `  4        . p\        V4       F   pVP                  \	        W^RR7      4       K"  	  \
        P                  ! V!  V n        \
        P                  ! W^^R7      V n	        \
        P                  ! W^,          ^^R7      V n
        V P                  4        Fž  p\        V\
        P                  4      '       g   K%  \        P
                  P                  P                  VP                   RR7       VP"                  f   Kj  \        P
                  P                  P%                  VP"                  ^ 4       K   	  R# )é   N)Úkernel_sizeÚ
norm_layer)r   Ústrideg{®Gáz„?)Ústd)ÚsuperÚ__init__ÚrangeÚappendr   r   Ú
SequentialÚconvÚConv2dÚ
cls_logitsÚ	bbox_predÚmodulesÚ
isinstanceÚtorchÚinitÚnormal_ÚweightÚbiasÚ	constant_)Úselfr   r   Ú
conv_depthÚconvsÚ_ÚlayerÚ	__class__s   &&&&   €r   r"   ÚRPNHead.__init__   sÞ   ø€ Ü‰ÑÔØˆÜ�zÖ"ˆAØ�L‰LÔ-¨kÐTUÐbfÔgÖhñ #ä—M’M 5Ñ)ˆŒ	ÜŸ)š) KÈ!ÐTUÔVˆŒÜŸš ;¸aµÈQÐWXÔYˆŒà—\‘\–^ˆEÜ˜%¤§¡×+Ô+Ü—‘—‘×%Ñ% e§l¡l¸Ð%Ô=Ø—:‘:Ô)Ü—H‘H—M‘M×+Ñ+¨E¯J©J¸Ö:ó	 $r   c           	     óÐ   <€ VP                  R R4      pVe   V^8  d3   R F,  p	V RV	 2p
V RV	 2pW¡9   g   K  VP                  V
4      W&   K.  	  \        SV `  VVVVVVV4       R# )ÚversionNzconv.z	conv.0.0.)r/   r0   )ÚgetÚpopr!   Ú_load_from_state_dict)r2   Ú
state_dictÚprefixÚlocal_metadataÚstrictÚmissing_keysÚunexpected_keysÚ
error_msgsr:   ÚtypeÚold_keyÚnew_keyr7   s   &&&&&&&&    €r   r=   ÚRPNHead._load_from_state_dict*   s‡   ø€ ð !×$Ñ$ Y°Ó5ˆàŠ?˜g¨œkÛ*�Ø#˜H E¨$¨Ð0�Ø#˜H I¨d¨VÐ4�ØÖ(Ø*4¯.©.¸Ó*A�JÓ'ñ	 +ô 	‰Ñ%ØØØØØØØö	
r   c                ól   <€ V ^8„  d   QhRS[ S[,          RS[S[ S[,          S[ S[,          3,          /# )r   Úxr   ©Úlistr   Útuple)r   r   s   "€r   r   r   G   s1   ø€ ÷  ñ  ™™f�ð  ©%±±Vµ¹dÁ6½lÐ0JÕ*Kñ  r   c                óÄ   € . p. pV FT  pV P                  V4      pVP                  V P                  V4      4       VP                  V P                  V4      4       KV  	  W#3# ©N)r&   r$   r(   r)   )r2   rJ   ÚlogitsÚbbox_regÚfeatureÚts   &&    r   ÚforwardÚRPNHead.forwardG   sY   € ØˆØˆÛˆGØ—	‘	˜'Ó"ˆAØ�M‰M˜$Ÿ/™/¨!Ó,Ô-Ø�O‰O˜DŸN™N¨1Ó-Ö.ñ ð ÐÐr   )r)   r(   r&   )é   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_versionr"   r=   rT   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r7   r   s   @@r   r   r      s/   ù‡ € ñð €H÷;õ ;õ
÷: ÷  ð  r   r   c                ól   € V ^8„  d   QhR\         R\        R\        R\        R\        R\        R\         /# )r   r6   ÚNÚAÚCÚHÚWr   )r   r   )r   s   "r   r   r   Q   s>   € ÷ ñ œvð ¬#ð ´#ð ¼#ð Ä#ð Ì#ð ÔRXñ r   c                 ó~   € V P                  VRW4V4      p V P                  ^ ^^^^4      p V P                  VRV4      p V # )rV   éÿÿÿÿ)ÚviewÚpermuteÚreshape)r6   rb   rc   rd   re   rf   s   &&&&&&r   Úpermute_and_flattenrl   Q   sC   € Ø�J‰J�q˜"˜a AÓ&€EØ�M‰M˜!˜Q  1 aÓ(€EØ�M‰M˜!˜R Ó#€EØ€Lr   c                óŠ   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        \        \        3,          /# )r   Úbox_clsÚbox_regressionr   rK   )r   s   "r   r   r   X   s6   € ÷ #ñ #¬$¬v­,ð #ÌÌVÍð #ÔY^Ô_eÔgmÐ_mÕYnñ #r   c           	      ó¸  € . p. p\        W4       Fu  w  rEVP                  w  rgr‰VP                  ^,          p
V
^,          pW{,          p\        WFW¼W‰4      pVP                  V4       \        WVV^W‰4      pVP                  V4       Kw  	  \        P
                  ! V^R7      P                  ^ R4      p \        P
                  ! V^R7      P                  R^4      pW3# )rV   ©Údiméþÿÿÿrh   )ÚzipÚshaperl   r$   r,   ÚcatÚflattenrk   )rn   ro   Úbox_cls_flattenedÚbox_regression_flattenedÚbox_cls_per_levelÚbox_regression_per_levelrb   ÚAxCre   rf   ÚAx4rc   rd   s   &&           r   Úconcat_box_prediction_layersr~   X   sÝ   € ØÐØ!Ðô
 8;¸7Ö7SÑ3ÐØ(×.Ñ.‰ˆ�Ø&×,Ñ,¨QÕ/ˆØ�1�HˆØ�HˆÜ/Ð0AÀaÈAÓQÐØ× Ñ Ð!2Ô3ä#6Ð7OÐTUÐWXÐZ[Ó#_Ð Ø ×'Ñ'Ð(@ÖAñ 8Tô �iŠiÐ)¨qÔ1×9Ñ9¸!¸RÓ@€GÜ—Y’YÐ7¸QÔ?×GÑGÈÈAÓN€NØÐ"Ð"r   c                   ó  a a€ ] tR t^qt oRtR]P                  R]P                  R]P                  /t	RV3R lV 3R lllt
V3R lR ltV3R	 lR
 ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltRV3R lR lltRtVtV ;t# )ÚRegionProposalNetworkaw  
Implements Region Proposal Network (RPN).

Args:
    anchor_generator (AnchorGenerator): module that generates the anchors for a set of feature
        maps.
    head (nn.Module): module that computes the objectness and regression deltas
    fg_iou_thresh (float): minimum IoU between the anchor and the GT box so that they can be
        considered as positive during training of the RPN.
    bg_iou_thresh (float): maximum IoU between the anchor and the GT box so that they can be
        considered as negative during training of the RPN.
    batch_size_per_image (int): number of anchors that are sampled during training of the RPN
        for computing the loss
    positive_fraction (float): proportion of positive anchors in a mini-batch during training
        of the RPN
    pre_nms_top_n (Dict[str, int]): number of proposals to keep before applying NMS. It should
        contain two fields: training and testing, to allow for different values depending
        on training or evaluation
    post_nms_top_n (Dict[str, int]): number of proposals to keep after applying NMS. It should
        contain two fields: training and testing, to allow for different values depending
        on training or evaluation
    nms_thresh (float): NMS threshold used for postprocessing the RPN proposals
    score_thresh (float): only return proposals with an objectness score greater than score_thresh

Ú	box_coderÚproposal_matcherÚfg_bg_samplerc                óš   <€ V ^8„  d   QhRS[ RS[P                  RS[RS[RS[RS[RS[S[S[3,          RS[S[S[3,          R	S[R
S[RR/# )r   Úanchor_generatorÚheadÚfg_iou_threshÚbg_iou_threshÚbatch_size_per_imageÚpositive_fractionÚpre_nms_top_nÚpost_nms_top_nÚ
nms_threshÚscore_threshr   N)r
   r   ÚModuleÚfloatr   ÚdictÚstr)r   r   s   "€r   r   Ú"RegionProposalNetwork.__annotate__’   s�   ø€ ÷ #ñ #á)ð#ñ �i‰ið#ñ
 ð#ñ ð#ñ "ð#ñ !ð#ñ ™C¡˜H•~ð#ñ ™S¡#˜X�ð#ñ ð#ñ ð#ð 
ñ#r   c                óN  <€ \         SV `  4        Wn        W n        \        P
                  ! RR7      V n        \        P                  V n	        \        P                  ! VVRR7      V n        \        P                  ! WV4      V n        Wpn        W€n        W�n        W n        RV n        R# )ç      ð?)ÚweightsT)Úallow_low_quality_matchesgü©ñÒMbP?N)r•   r•   r•   r•   )r!   r"   r…   r†   Ú	det_utilsÚBoxCoderr�   Úbox_opsÚbox_iouÚbox_similarityÚMatcherr‚   ÚBalancedPositiveNegativeSamplerrƒ   Ú_pre_nms_top_nÚ_post_nms_top_nr�   rŽ   Úmin_size)r2   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r7   s   &&&&&&&&&&&€r   r"   ÚRegionProposalNetwork.__init__’   sŒ   ø€ ô 	‰ÑÔØ 0ÔØŒ	Ü"×+Ò+Ð4HÔIˆŒô &Ÿo™oˆÔä )× 1Ò 1ØØØ&*ô!
ˆÔô '×FÒFÐG[ÓoˆÔà+ÔØ-ÔØ$ŒØ(ÔØˆŽr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r“   ·   s   ø€ ÷ .ñ .™sñ .r   c                ór   € V P                   '       d   V P                  R ,          # V P                  R,          # ©ÚtrainingÚtesting)r§   rŸ   ©r2   s   &r   r‹   Ú#RegionProposalNetwork.pre_nms_top_n·   s-   € Ø�=�=ˆ=Ø×&Ñ& zÕ2Ð2Ø×"Ñ" 9Õ-Ð-r   c                ó    <€ V ^8„  d   QhRS[ /# r¤   r   )r   r   s   "€r   r   r“   ¼   s   ø€ ÷ /ñ /¡ñ /r   c                ór   € V P                   '       d   V P                  R ,          # V P                  R,          # r¦   )r§   r    r©   s   &r   rŒ   Ú$RegionProposalNetwork.post_nms_top_n¼   s-   € Ø�=�=ˆ=Ø×'Ñ'¨
Õ3Ð3Ø×#Ñ# IÕ.Ð.r   c          	      ó˜   <€ V ^8„  d   QhRS[ S[,          RS[ S[S[S[3,          ,          RS[S[ S[,          S[ S[,          3,          /# )r   ÚanchorsÚtargetsr   )rL   r   r‘   r’   rM   )r   r   s   "€r   r   r“   Á   sI   ø€ ÷ $(ñ $(Ù™F•|ð$(Ù.2±4¹¹V¸Õ3DÕ.Eð$(á	‰t‘F�|™T¡&�\Ð)Õ	*ñ$(r   c                óØ  € . p. p\        W4       EFT  w  rVVR ,          pVP                  4       ^ 8X  dx   VP                  p\        P                  ! VP
                  \        P                  VR7      p	\        P                  ! VP
                  ^ ,          3\        P                  VR7      p
M—V P                  Wu4      pV P                  V4      pW|P                  ^ R7      ,          p	V^ 8¬  p
V
P                  \        P                  R7      p
WÀP                  P                  8H  pRW­&   WÀP                  P                  8H  pRW®&   VP                  V
4       VP                  V	4       EKW  	  W43# )r   ©ÚdtypeÚdevice)Úmin)r³   ç        g      ð¿)rt   Únumelr´   r,   Úzerosru   Úfloat32rœ   r‚   ÚclampÚtoÚBELOW_LOW_THRESHOLDÚBETWEEN_THRESHOLDSr$   )r2   r¯   r°   ÚlabelsÚmatched_gt_boxesÚanchors_per_imageÚtargets_per_imageÚgt_boxesr´   Úmatched_gt_boxes_per_imageÚlabels_per_imageÚmatch_quality_matrixÚmatched_idxsÚ
bg_indicesÚinds_to_discards   &&&            r   Úassign_targets_to_anchorsÚ/RegionProposalNetwork.assign_targets_to_anchorsÁ   sV  € ð ˆØÐÜ47¸×4IÑ0ÐØ(¨Õ1ˆHà�~‰~Ó 1Ô$à*×1Ñ1�Ü-2¯[ª[Ð9J×9PÑ9PÔX]×XeÑXeÐntÔ-uÐ*Ü#(§;¢;Ð0A×0GÑ0GÈÕ0JÐ/LÔTY×TaÑTaÐjpÔ#qÑ à'+×':Ñ':¸8Ó'WÐ$Ø#×4Ñ4Ð5IÓJ�ð
 .6×6HÑ6HÈQÐ6HÓ6OÕ-PÐ*à#/°1Ñ#4Ð Ø#3×#6Ñ#6¼U¿]¹]Ð#6Ó#KÐ ð *×-BÑ-B×-VÑ-VÑV�
Ø/2Ð Ñ,ð #/×2GÑ2G×2ZÑ2ZÑ"Z�Ø48Ð Ñ1à�M‰MÐ*Ô+Ø×#Ñ#Ð$>×?ñ; 5Jð< Ð'Ð'r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[ /# )r   Ú
objectnessÚnum_anchors_per_levelr   )r   rL   r   )r   r   s   "€r   r   r“   ç   s'   ø€ ÷ 	#ñ 	#©ð 	#ÉÉSÍ	ð 	#ÑV\ñ 	#r   c                óD  € . p^ pVP                  V^4       Fo  pVP                  ^,          p\        P                  ! WPP	                  4       ^4      pVP                  V^R7      w  r‰VP                  W”,           4       WF,          pKq  	  \        P                  ! V^R7      # )r   rq   )	Úsplitru   r˜   Ú	_topk_minr‹   Útopkr$   r,   rv   )
r2   rÌ   rÍ   ÚrÚoffsetÚobr   r‹   r5   Ú	top_n_idxs
   &&&       r   Ú_get_top_n_idxÚ$RegionProposalNetwork._get_top_n_idxç   sŠ   € ØˆØˆØ×"Ñ"Ð#8¸!Ö<ˆBØŸ(™( 1�+ˆKÜ%×/Ò/°×4FÑ4FÓ4HÈ!ÓLˆMØŸ7™7 =°a˜7Ó8‰LˆAØ�H‰H�YÕ'Ô(ØÕ!ŠFñ =ô �yŠy˜ Ô"Ð"r   c                ó¤   <€ V ^8„  d   QhRS[ RS[ RS[S[S[S[3,          ,          RS[S[,          RS[S[S[ ,          S[S[ ,          3,          /# )r   Ú	proposalsrÌ   Úimage_shapesrÍ   r   )r   rL   rM   r   )r   r   s   "€r   r   r“   ò   s`   ø€ ÷ 7)ñ 7)áð7)ñ ð7)ñ ™5¡¡c �?Õ+ð	7)ñ
  $¡C�yð7)ñ 
‰t‘F�|™T¡&�\Ð)Õ	*ñ7)r   c                óš  € VP                   ^ ,          pVP                  pVP                  4       pVP                  VR4      p\	        V4       UUu. uF.  w  rx\
        P                  ! V3V\
        P                  VR7      NK0  	  p	pp\
        P                  ! V	^ 4      p	V	P                  ^R4      P                  V4      p	V P                  W$4      p
\
        P                  ! WVR7      pVR,          pW,V
3,          pWœV
3,          p	WV
3,          p\
        P                  ! V4      p. p. p\        WW“4       EF  w  pppp\        P                  ! VV4      p\        P                   ! VV P"                  4      pVV,          VV,          VV,          ppp\
        P$                  ! VV P&                  8¬  4      ^ ,          pVV,          VV,          VV,          ppp\        P(                  ! VVVV P*                  4      pVRV P-                  4        pVV,          VV,          ppVP/                  V4       VP/                  V4       EK  	  Wï3# u uppi )r   r²   )r´   Nrh   ):NNNN)ru   r´   Údetachrk   Ú	enumerater,   ÚfullÚint64rv   Ú	expand_asrÖ   ÚarangeÚsigmoidrt   rš   Úclip_boxes_to_imageÚremove_small_boxesr¡   ÚwhererŽ   Úbatched_nmsr�   rŒ   r$   )r2   rÙ   rÌ   rÚ   rÍ   Ú
num_imagesr´   ÚidxÚnÚlevelsrÕ   Úimage_rangeÚ	batch_idxÚobjectness_probÚfinal_boxesÚfinal_scoresr   ÚscoresÚlvlÚ	img_shapeÚkeeps   &&&&&                r   Úfilter_proposalsÚ&RegionProposalNetwork.filter_proposalsò   s  € ð —_‘_ QÕ'ˆ
Ø×!Ñ!ˆà×&Ñ&Ó(ˆ
Ø×'Ñ'¨
°BÓ7ˆ
ô S\Ð\qÔRrô
ÙRrÉÈŒE�JŠJ˜�t˜S¬¯©¸F×CÑRrð 	ñ 
ô —’˜6 1Ó%ˆØ—‘  2Ó&×0Ñ0°Ó<ˆð ×'Ñ'¨
ÓJˆ	ä—l’l :Ô=ˆØ Õ(ˆ	à¨9Ð 4Õ5ˆ
Ø 9Ð,Õ-ˆØ¨Ð2Õ3ˆ	äŸ-š-¨
Ó3ˆàˆØˆÜ-0°ÈV×-bÑ)ˆE�6˜3 	Ü×/Ò/°°yÓAˆEô ×-Ò-¨e°T·]±]ÓCˆDØ!& t¥¨f°T­l¸CÀ½I˜3�6ˆEô —;’;˜v¨×):Ñ):Ñ:Ó;¸AÕ>ˆDØ!& t¥¨f°T­l¸CÀ½I˜3�6ˆEô ×&Ò& u¨f°c¸4¿?¹?ÓKˆDð Ð/˜$×-Ñ-Ó/Ð0ˆDØ! $�K¨°­�6ˆEà×Ñ˜uÔ%Ø×Ñ ×'ñ) .cð* Ð(Ð(ùóS
s   Á4Ic                ón   <€ V ^8„  d   QhRS[ RS[ RS[S[ ,          RS[S[ ,          RS[S[ S[ 3,          /# )r   rÌ   Úpred_bbox_deltasr¾   Úregression_targetsr   )r   rL   rM   )r   r   s   "€r   r   r“   +  sH   ø€ ÷ #)ñ #)Ù ð#)Ù4:ð#)ÙDHÉÅLð#)ÙfjÑkqÕfrð#)á	‰v‘vˆ~Õ	ñ#)r   c                óh  € V P                  V4      w  rV\        P                  ! \        P                  ! V^ R7      4      ^ ,          p\        P                  ! \        P                  ! V^ R7      4      ^ ,          p\        P                  ! WV.^ R7      pVP	                  4       p\        P                  ! V^ R7      p\        P                  ! V^ R7      p\
        P                  ! W%,          WE,          RRR7      VP                  4       ,          p\
        P                  ! W,          W7,          4      p	W˜3# )zº
Args:
    objectness (Tensor)
    pred_bbox_deltas (Tensor)
    labels (List[Tensor])
    regression_targets (List[Tensor])

Returns:
    objectness_loss (Tensor)
    box_loss (Tensor)
rq   Úsum)ÚbetaÚ	reductiongÇqÇq¼?)	rƒ   r,   rå   rv   rw   ÚFÚsmooth_l1_lossr·   Ú binary_cross_entropy_with_logits)
r2   rÌ   r÷   r¾   rø   Úsampled_pos_indsÚsampled_neg_indsÚsampled_indsÚbox_lossÚobjectness_losss
   &&&&&     r   Úcompute_lossÚ"RegionProposalNetwork.compute_loss+  sõ   € ð .2×-?Ñ-?ÀÓ-GÑ*ÐÜ Ÿ;š;¤u§y¢yÐ1AÀqÔ'IÓJÈ1ÕMÐÜ Ÿ;š;¤u§y¢yÐ1AÀqÔ'IÓJÈ1ÕMÐä—y’yÐ"2Ð!EÈ1ÔMˆà×'Ñ'Ó)ˆ
ä—’˜6 qÔ)ˆÜ"ŸYšYÐ'9¸qÔAÐä×#Ò#ØÕ.ØÕ0ØØô	
ð
 ×ÑÓ!õ#ˆô ×<Ò<¸ZÕ=UÐW]ÕWkÓlˆàÐ(Ð(r   c                óº   <€ V ^8„  d   QhRS[ RS[S[S[3,          RS[S[S[S[S[3,          ,          ,          RS[S[S[,          S[S[S[3,          3,          /# )r   ÚimagesÚfeaturesr°   r   )r   r‘   r’   r   r   rL   rM   )r   r   s   "€r   r   r“   P  sf   ø€ ÷ 3ñ 3áð3ñ ‘s™F�{Õ#ð3ñ ™$™t¡C© KÕ0Õ1Õ2ð	3ñ
 
‰t‘F�|™T¡#¡v +Õ.Ð.Õ	/ñ3r   c                ó  € \        VP                  4       4      pV P                  V4      w  rEV P                  W4      p\	        V4      pV Uu. uF  qˆ^ ,          P
                  NK  	  p	pV	 U
u. uF'  qª^ ,          V
^,          ,          V
^,          ,          NK)  	  pp
\        WE4      w  rEV P                  P                  VP                  4       V4      pVP                  VR^4      pV P                  WÄVP                  V4      w  rÞ/ pV P                  '       d\   Vf   \        R4      hV P                  Wc4      w  ppV P                  P!                  VV4      pV P#                  WEVV4      w  ppRVRV/pWß3# u upi u up
i )aÍ  
Args:
    images (ImageList): images for which we want to compute the predictions
    features (Dict[str, Tensor]): features computed from the images that are
        used for computing the predictions. Each tensor in the list
        correspond to different feature levels
    targets (List[Dict[str, Tensor]]): ground-truth boxes present in the image (optional).
        If provided, each element in the dict should contain a field `boxes`,
        with the locations of the ground-truth boxes.

Returns:
    boxes (List[Tensor]): the predicted boxes from the RPN, one Tensor per
        image.
    losses (Dict[str, Tensor]): the losses for the model during training. During
        testing, it is an empty dict.
ztargets should not be NoneÚloss_objectnessÚloss_rpn_box_regrh   )rL   Úvaluesr†   r…   Úlenru   r~   r�   ÚdecoderÜ   ri   rô   Úimage_sizesr§   Ú
ValueErrorrÉ   Úencoder  )r2   r  r	  r°   rÌ   r÷   r¯   rç   ÚoÚ#num_anchors_per_level_shape_tensorsÚsrÍ   rÙ   r   rð   Úlossesr¾   r¿   rø   r  r  s   &&&&                 r   rT   ÚRegionProposalNetwork.forwardP  sw  € ô. ˜Ÿ™Ó)Ó*ˆØ'+§y¡y°Ó':Ñ$ˆ
Ø×'Ñ'¨Ó9ˆä˜“\ˆ
ÙCMÓ.NÁ:¸a°­t¯z¬zÁ:Ð+Ð.NÙ=`Ó aÑ=`¸ 1¥¨¨!­¥¨q°­t×!3Ð!3Ñ=`ÐÐ aÜ'CÀJÓ'aÑ$ˆ
ð —N‘N×)Ñ)Ð*:×*AÑ*AÓ*CÀWÓMˆ	Ø—N‘N :¨r°1Ó5ˆ	Ø×-Ñ-¨iÀV×EWÑEWÐYnÓo‰ˆàˆØ�=�=ˆ=ØŠÜ Ð!=Ó>Ð>Ø'+×'EÑ'EÀgÓ'WÑ$ˆFÐ$Ø!%§¡×!6Ñ!6Ð7GÈÓ!QÐØ04×0AÑ0AØ¨fÐ6Hó1Ñ-ˆOÐ-ð " ?Ø"Ð$4ðˆFð ˆ}Ðùò/ /OùÚ as   ÁE8Á.-E=)r    rŸ   r…   r�   rœ   rƒ   r†   r¡   r�   r‚   rŽ   )r¶   rO   )rW   rX   rY   rZ   r[   r˜   r™   r�   rž   Ú__annotations__r"   r‹   rŒ   rÉ   rÖ   rô   r  rT   r]   r^   r_   r`   s   @@r   r€   r€   q   s�   ù‡ € ñð6 	�Y×'Ñ'Ø˜I×-Ñ-Ø˜×BÑBð€O÷#õ #÷J.ð .÷
/ð /÷
$(ð $(÷L	#ð 	#÷7)ð 7)÷r#)ð #)÷J3÷ 3ò 3r   r€   )Útypingr   r,   r   r   Útorch.nnr   rý   Útorchvision.opsr   rš   r   Ú r	   r˜   Úanchor_utilsr
   Ú
image_listr   r�   r   rl   r~   r€   © r   r   Ú<module>r      sP   ðÝ ã ß Ý $ß Bå !õ *Ý !ô? ˆb�i‰iô ? õDõ#ô2R˜EŸH™HŸO™Oö Rr   