o
    ,h                     @   sV   d dl mZ d dl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)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__ a/var/www/html/scripts/venv/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   dictstrr$   __classcell__r   r   r   r   r	   
   s    *"r	   N)collectionsr   typingr   torchr   r   torch.nnr   r   utilsr   r)   r	   r   r   r   r   <module>   s    