§
    —/jú  ã                   ón  — d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 ddl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI ddlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZT dZUdS )ao  
Ultralytics neural network modules.

This module provides access to various neural network components used in Ultralytics models, including convolution
blocks, attention mechanisms, transformer components, and detection/segmentation heads.

Examples:
    Visualize a module with Netron
    >>> from ultralytics.nn.modules import Conv
    >>> import torch
    >>> import subprocess
    >>> x = torch.ones(1, 128, 40, 40)
    >>> m = Conv(128, 128)
    >>> f = f"{m._get_name()}.onnx"
    >>> torch.onnx.export(m, x, f)
    >>> subprocess.run(f"onnxslim {f} {f} && open {f}", shell=True, check=True)  # pip install onnxslim
é   ))ÚC1ÚC2ÚC2PSAÚC3ÚC3TRÚCIBÚDFLÚELAN1ÚPSAÚSPPÚSPPELANÚSPPFÚA2C2fÚAConvÚADownÚ	AttentionÚBNContrastiveHeadÚ
BottleneckÚBottleneckCSPÚC2fÚC2fAttnÚC2fCIBÚC2fPSAÚC3GhostÚC3k2ÚC3xÚCBFuseÚCBLinearÚContrastiveHeadÚGhostBottleneckÚHGBlockÚHGStemÚImagePoolingAttnÚMaxSigmoidAttnBlockÚProtoÚRepC3ÚRepNCSPELAN4ÚRepVGGDWÚResNetLayerÚSCDownÚTorchVision)ÚCBAMÚChannelAttentionÚConcatÚConvÚConv2ÚConvTransposeÚDWConvÚDWConvTranspose2dÚFocusÚ	GhostConvÚIndexÚ	LightConvÚRepConvÚSpatialAttention)ÚOBBÚOBB26ÚClassifyÚDetectÚLRPCHeadÚPoseÚPose26ÚRTDETRDecoderÚSegmentÚ	Segment26ÚWorldDetectÚYOLOEDetectÚYOLOESegmentÚYOLOESegment26Ú	v10Detect)
ÚAIFIÚMLPÚDeformableTransformerDecoderÚ!DeformableTransformerDecoderLayerÚLayerNorm2dÚMLPBlockÚMSDeformAttnÚTransformerBlockÚTransformerEncoderLayerÚTransformerLayer)PrI   r   r   r   r   r   r,   r   r	   r
   rJ   r:   r;   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r-   r<   r.   r   r/   r0   r1   r2   r3   rK   rL   r=   r4   r    r5   r!   r"   r#   r6   r>   rM   r7   rN   rO   r$   r?   r@   r%   rA   r&   r8   r'   r(   r)   r*   rB   rC   r9   r+   rP   rQ   rR   rD   rE   rF   rG   rH   N)VÚ__doc__Úblockr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   Úconvr,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   Úheadr:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   ÚtransformerrI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   Ú__all__© ó    úd/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/ultralytics/nn/modules/__init__.pyú<module>r\      sŒ  ððð ð$*ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ðVð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð"ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðQ€€€rZ   