
    h~                     \   S r SSKJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  SSK+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9  SSK:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErE  SSKFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrP  SrQg)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ClassifyDetectLRPCHeadPoseRTDETRDecoderSegmentWorldDetectYOLOEDetectYOLOESegment	v10Detect)
AIFIMLPDeformableTransformerDecoder!DeformableTransformerDecoderLayerLayerNorm2dMLPBlockMSDeformAttnTransformerBlockTransformerEncoderLayerTransformerLayer)Lr/   r0   r7   r8   r2   r3   r1   r4   r5   r-   r9   r,   r.   rN   rL   rJ   rI   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;   rM   r&   r?   rE   rG   rH   rK   rF   r)   r:   rA   rB   rC   rD   r=   r#   r$   r   r   r'   r   r   r   r   r   r
   r(   r   r   r   r   r+   r6   r   N)R__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   transformerrE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   __all__     Y/home/james-whalen/.local/lib/python3.13/site-packages/ultralytics/nn/modules/__init__.py<module>rX      s   $* * * * * * * * * * *V         MrV   