
    ^jJ              	       @    d dl Z 	 	 	 dde j                  dededefdZy)    Nx	pool_typenum_prefix_tokensreduce_include_prefixc                 &   |s| S |dk(  r| dddf   } | S |r| n
| dd|df   } |dk(  r| j                  d      } | S |dk(  r*d| j                  d      | j                  d      z   z  } | S |d	k(  r| j                  d      } | S |r
J d
|        | S )a  Apply global pooling to tensor in NLC format.

    Args:
        x: Input tensor in (batch, length, channels) format.
        pool_type: Pooling type - 'token', 'avg', 'max', 'avgmax', or empty string.
        num_prefix_tokens: Number of prefix tokens (e.g., class token) to exclude from pooling.
        reduce_include_prefix: Whether to include prefix tokens in reduction.

    Returns:
        Pooled tensor.
    tokenNr   avg   )dimavgmaxg      ?maxzUnknown pool type )meanamax)r   r   r   r   s       ]/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/layers/pool1d.pyglobal_pool_nlcr      s    " GadG H 'AAa1B1C.C,D1A H ("qvv!v}qvv!v}45A H %1A H !B$6yk"BB=H    )r   r
   F)torchTensorstrintboolr    r   r   <module>r      s@    
 !!"&+	!<<!! !  $	!r   