+
    9iH                     \    ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ]! ]4      t	 ! R R]4      t
R# )    )	getLogger)FusionAttentionClip)
ModelProto)BertOnnxModelc                   N   a a ] tR t^t oRV3R lV 3R llltR tR tRtVtV ;t	# )ClipOnnxModelc                ,   < V ^8  d   QhRS[ RS[RS[/# )   model	num_headshidden_size)r   int)format__classdict__s   "f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/onnxruntime/transformers/onnx_model_clip.py__annotate__ClipOnnxModel.__annotate__   s'     a aj aS a3 a    c                t   < \         SV `  WVR 7       \        W P                  V P                  4      V n        R# ))r   r   N)super__init__r   r   r   clip_attention_fusion)selfr   r   r   	__class__s   &&&&r   r   ClipOnnxModel.__init__   s1    M%8?O?OQUQ_Q_%`"r   c                    / p. ROpV F!  pV P                  V4      p\        V4      W&   K#  	  \        P                  RV 24       V# )z(
Returns node count of fused operators.
zOptimized operators:)	AttentionFastGeluGeluLayerNormalization	QuickGeluBiasGeluSkipLayerNormalization)get_nodes_by_op_typelenloggerinfo)r   op_countopsopnodess   &    r   get_fused_operator_statistics+ClipOnnxModel.get_fused_operator_statistics   sR     
 B--b1Eu:HL  	*8*56r   c                :    V P                   P                  4        R # )N)r   apply)r   s   &r   fuse_attentionClipOnnxModel.fuse_attention)   s    ""((*r   )r   )r   r   )
__name__
__module____qualname____firstlineno__r   r,   r0   __static_attributes____classdictcell____classcell__)r   r   s   @@r   r   r      s      a a*+ +r   r   N)loggingr   fusion_attention_clipr   onnxr   onnx_model_bertr   r2   r&   r    r   r   <module>r>      s)     5  )	8	+M +r   