o
    Vh                     @   sZ   d dl mZ d dlmZmZ d dlmZmZ d dlm	Z
 ddlmZ G dd dejZd	S )
    )OrderedDict)DictOptional)nnTensor)
functional   )_log_api_usage_oncec                	       sZ   e Zd ZdgZddejdejdeej ddf fddZdede	e
ef fd	d
Z  ZS )_SimpleSegmentationModelaux_classifierNbackbone
classifierreturnc                    s(   t    t|  || _|| _|| _d S N)super__init__r	   r   r   r   )selfr   r   r   	__class__ Z/var/www/vscode/kcb/lib/python3.10/site-packages/torchvision/models/segmentation/_utils.pyr      s
   

z!_SimpleSegmentationModel.__init__xc                 C   s   |j dd  }| |}t }|d }| |}tj||ddd}||d< | jd ur@|d }| |}tj||ddd}||d< |S )NoutbilinearF)sizemodealign_cornersaux)shaper   r   r   Finterpolater   )r   r   input_shapefeaturesresultr   r   r   forward   s   



z _SimpleSegmentationModel.forwardr   )__name__
__module____qualname____constants__r   Moduler   r   r   r   strr%   __classcell__r   r   r   r   r
   
   s    *"r
   N)collectionsr   typingr   r   torchr   r   torch.nnr   r    utilsr	   r*   r
   r   r   r   r   <module>   s    