
    9iC                         S SK JrJr  S SKJrJrJr  S SKJr  S SK	J
r
  S SKJr  \" 5       r\S   r\\\\4   \4   r " S S\5      rg	)
    )ABCabstractmethod)AnyDictUnion)Model)
ConfigDict)
get_logger)ztorch.Tensorz	tf.Tensorc                   b    \ rS rSrSrS r\S\\\	4   4S j5       r
\S\\\	4   4S j5       rSrg)	Head   zAThe head base class is for the tasks head method definition

    c                 $    [        U5      U l        g )N)r	   config)selfkwargss     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/models/base/base_head.py__init__Head.__init__   s     (    returnc                     g)z
This method will use the output from backbone model to do any
downstream tasks. Receive The output from backbone model.

Returns (Dict[str, Any]): The output from downstream task.
N r   argsr   s      r   forwardHead.forward   s     	r   c                     g)zW
compute loss for head during the finetuning.

Returns (Dict[str, Any]): The loss dict
Nr   r   s      r   compute_lossHead.compute_loss!   s     	r   )r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   strr   r   r   __static_attributes__r   r   r   r   r      sR    ) $sCx.   tCH~  r   r   N)abcr   r   typingr   r   r   !modelscope.models.base.base_modelr   modelscope.utils.configr	   modelscope.utils.loggerr
   loggerTensorr%   Inputr   r   r   r   <module>r/      sM    # # # 3 . .		*	+d3;&'3 r   