Ë
    éÓ^j¬  ã                   óz  — d dl mZmZmZmZmZmZmZ d dlZd dlm	Z	 	 d dl
mZ d dl
mZ dZg d¢Z e«       Zd	ee	j(                     fd
„Zd	ee	j(                     fd„Zd„ Z e«       Zd„ Zdefd„Zd„ Zde	j(                  deee   ee   f   fd„Zde	j(                  deeeef   ee   f   fd„Zy# e$ r dZY Œ�w xY w)é    )ÚCallableÚDictÚListÚOptionalÚUnionÚTupleÚTypeN)Únn)Úcreate_feature_extractor)Úget_graph_node_namesTF)Úregister_notrace_moduleÚis_notrace_moduleÚget_notrace_modulesÚregister_notrace_functionÚis_notrace_functionÚget_notrace_functionsr   r   Úmodulec                 ó0   — t         j                  | «       | S )zq
    Any module not under timm.models.layers should get this decorator if we don't want to trace through it.
    )Ú_leaf_modulesÚadd©r   s    úZ/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/layers/_fx.pyr   r      s   € ô ×Ñ�fÔØ€Mó    c                 ó   — | t         v S ©N)r   r   s    r   r   r   &   s   € Ø”]Ð"Ð"r   c                  ó    — t        t        «      S r   )Úlistr   © r   r   r   r   *   s   € Ü”ÓÐr   c                 ó0   — t         j                  | «       | S r   )Ú_autowrap_functionsr   )Ú
name_or_fns    r   r   r   2   s   € Ü×Ñ˜JÔ'ØÐr   Úfuncc                 ó   — | t         v S r   )r    )r"   s    r   r   r   7   s   € ØÔ&Ð&Ð&r   c                  ó    — t        t        «      S r   )r   r    r   r   r   r   r   ;   s   € ÜÔ#Ó$Ð$r   ÚmodelÚreturnc                 óV   — t        | t        t        «      t        t        «      dœ¬«      S )N©Úleaf_modulesÚautowrap_functions©Útracer_kwargs)Ú_get_graph_node_namesr   r   r    )r%   s    r   r   r   ?   s(   € Ü Øä ¤Ó/Ü"&Ô':Ó";ñ
ôð r   Úreturn_nodesc                 ór   — t         sJ d«       ‚t        | |t        t        «      t        t        «      dœ¬«      S )NzKPlease update to PyTorch 1.10+, torchvision 0.11+ for FX feature extractionr(   r+   )Úhas_fx_feature_extractionÚ_create_feature_extractorr   r   r    )r%   r.   s     r   r   r   I   s9   € Ý$ÐsÐ&sÓsÐ$Ü$Øˆ|ä ¤Ó/Ü"&Ô':Ó";ñ
ôð r   )Útypingr   r   r   r   r   r   r	   Útorchr
   Ú%torchvision.models.feature_extractionr   r1   r   r-   r0   ÚImportErrorÚ__all__Úsetr   ÚModuler   r   r   r    r   r   r   Ústrr   r   r   ú<module>r:      só   ðß E× EÑ Eã Ý ð&åkÝcØ $Ðò
	€ñ “€ð D¨¯©¡Oó ð#˜d 2§9¡9™oó #òñ
 “eÐ òð
'˜hó 'ò%ð §	¡	ð ¨e°D¸±I¸tÀC¹yÐ4HÑ.Ió ð B§I¡Ið ¸UÀ4ÈÈSÈÁ>ÐSWÐX[ÑS\ÐC\Ñ=]ô øð} ò &Ø %Òð&ús   žB0 Â0B:Â9B: