o
    *j                     @   s   d dl Z d dlmZmZ d dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZ e
jejejd	G d
d deZdS )    N)AnyDict)Models)
TorchModel)MODELS)CascadeMaskRCNNSwin)Config)	ModelFileTasks)module_namec                       sx   e Zd Zd fdd	Zdeeef deeef fddZdeeef deeef fdd	Zd
eeef fddZ	  Z
S )CascadeMaskRCNNSwinModelNc                    s   t t| j|d|i| d|vr&tj|tj}t	|}|j
}|| tdd|i|| _
ttj r9dnd| _| j
| j dS )zF
        Args:
            model_dir (str): model directory.

        	model_dirZbackbonecudacpuN )superr   __init__ospathjoinr	   ZCONFIGURATIONr   	from_filemodelupdater   torchZdevicer   Zis_availableto)selfr   argskwargsZconfig_pathcfgZ	model_cfg	__class__r   w/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/models/cv/image_instance_segmentation/model.pyr      s"   


z!CascadeMaskRCNNSwinModel.__init__inputreturnc                 C   s   | j di |}|S )Nr   )r   )r   r"   outputr   r   r!   forward)   s   z CascadeMaskRCNNSwinModel.forwardc                 K   s   |S Nr   )r   r"   r   r   r   r!   postprocess-   s   z$CascadeMaskRCNNSwinModel.postprocessoutputsc                 C   s   d S r&   r   )r   r(   labelsr   r   r!   compute_loss1   s   z%CascadeMaskRCNNSwinModel.compute_lossr&   )__name__
__module____qualname__r   r   strr   r%   r'   r*   __classcell__r   r   r   r!   r      s
    ""r   )r   typingr   r   r   Zmodelscope.metainfor   Zmodelscope.models.baser   Zmodelscope.models.builderr   Z0modelscope.models.cv.image_instance_segmentationr   Zmodelscope.utils.configr   Zmodelscope.utils.constantr	   r
   Zregister_moduleZimage_segmentationZcascade_mask_rcnn_swinr   r   r   r   r!   <module>   s   