o
    iy                     @  s~   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mZ G dd dZG d	d
 d
eeZG dd deeZdS )    )annotations)MappingSequence)TYPE_CHECKINGAny)optional_import   )TensorBoardImageHandlerTensorBoardStatsHandlerc                   @  s   e Zd ZdZdddZdS )ClearMLHandleraU  
    Base class for the handlers to log everything to ClearML.
    For more details of ClearML usage, please refer to:
    https://clear.ml/docs/latest/docs/references/sdk/task

    Usage example is available in the tutorial:
    https://github.com/Project-MONAI/tutorials/blob/master/3d_segmentation/unet_segmentation_3d_ignite.ipynb.

    project_name
str | None	task_name
output_uri
str | booltagsSequence[str] | Nonereuse_last_task_idboolcontinue_last_taskauto_connect_frameworks&bool | Mapping[str, bool | str | list]auto_connect_arg_parserbool | Mapping[str, bool]returnNonec	              
   C  sV   t rddl}	ntd\}	}
|	j r|	j | _dS |	jj||||||||d| _dS )  
        Args:
            project_name: ClearML project name, default to 'MONAI'.
            task_name: ClearML task name, default to 'monai_experiment'.
            output_uri: The default location for output models and other artifacts, default to 'True'.
            tags: Add a list of tags (str) to the created Task, default to 'None'.
            reuse_last_task_id: Force a new Task (experiment) with a previously used Task ID, default to 'True'.
            continue_last_task: Continue the execution of a previously executed Task (experiment), default to 'False'.
            auto_connect_frameworks: Automatically connect frameworks, default to 'True'.
            auto_connect_arg_parser: Automatically connect an argparse object to the Task, default to 'True'.

        r   Nclearmlr   r   r   r   r   r   r   r   )r   r   r   Taskcurrent_taskZclearml_taskinit)selfr   r   r   r   r   r   r   r   r   _ r$   a/home/dell461/cl/sdc2/last_ska_mid/HISourceFinder-master-l/src/monai/handlers/clearml_handlers.py__init__!   s   

zClearMLHandler.__init__N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __name__
__module____qualname____doc__r&   r$   r$   r$   r%   r      s    
r   c                   @  ,   e Zd ZdZ								ddddZdS )ClearMLStatsHandlera<  

    Class to write tensorboard stats by inheriting TensorBoardStatsHandler class.
    Everything from Tensorboard is logged automatically to ClearML.

    Usage example is available in the tutorial:
    https://github.com/Project-MONAI/tutorials/blob/master/3d_segmentation/unet_segmentation_3d_ignite.ipynb.

    MONAImonai_experimentTNFr   r   r   r   r   r   r   r   r   r   r   r   r   r   argsr   kwargsr   r   c	                 O  8   t j| ||||||||d	 tj| g|	R i |
 dS r   r   N)r   r&   r
   r"   r   r   r   r   r   r   r   r   r0   r1   r$   r$   r%   r&   Z   s   zClearMLStatsHandler.__init__r.   r/   TNTFTTr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r1   r   r   r   r'   r$   r$   r$   r%   r-   O       r-   c                   @  r,   )ClearMLImageHandlera8  

    This class inherits all functionality from TensorBoardImageHandler class.
    Everything from Tensorboard is logged automatically to ClearML.

    Usage example is available in the tutorial:
    https://github.com/Project-MONAI/tutorials/blob/master/3d_segmentation/unet_segmentation_3d_ignite.ipynb.

    r.   r/   TNFr   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r1   r   r   c	                 O  r2   r3   )r   r&   r	   r4   r$   r$   r%   r&      s   zClearMLImageHandler.__init__r5   r6   r'   r$   r$   r$   r%   r8      r7   r8   N)
__future__r   collections.abcr   r   typingr   r   monai.utilsr   tensorboard_handlersr	   r
   r   r-   r8   r$   r$   r$   r%   <module>   s   93