mirror of
				https://github.com/clearml/clearml
				synced 2025-06-26 18:16:07 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# ClearML - Example of manual graphs and statistics reporting
 | 
						|
#
 | 
						|
import numpy as np
 | 
						|
 | 
						|
from clearml import Task, Logger
 | 
						|
 | 
						|
 | 
						|
def report_plots(logger, iteration=0):
 | 
						|
    # type: (Logger, int) -> ()
 | 
						|
    """
 | 
						|
    reporting plots to plots section
 | 
						|
    :param logger: The task.logger to use for sending the plots
 | 
						|
    :param iteration: The iteration number of the current reports
 | 
						|
    """
 | 
						|
 | 
						|
    # report 3d surface
 | 
						|
    surface = np.random.randint(10, size=(10, 10))
 | 
						|
    logger.report_surface(
 | 
						|
        "example_surface",
 | 
						|
        "series1",
 | 
						|
        iteration=iteration,
 | 
						|
        matrix=surface,
 | 
						|
        xaxis="title X",
 | 
						|
        yaxis="title Y",
 | 
						|
        zaxis="title Z",
 | 
						|
    )
 | 
						|
 | 
						|
    # report 3d scatter plot
 | 
						|
    scatter3d = np.random.randint(10, size=(10, 3))
 | 
						|
    logger.report_scatter3d(
 | 
						|
        "example_scatter_3d",
 | 
						|
        "series_xyz",
 | 
						|
        iteration=iteration,
 | 
						|
        scatter=scatter3d,
 | 
						|
        xaxis="title x",
 | 
						|
        yaxis="title y",
 | 
						|
        zaxis="title z",
 | 
						|
    )
 | 
						|
 | 
						|
 | 
						|
def main():
 | 
						|
    # Connecting ClearML with the current process,
 | 
						|
    # from here on everything is logged automatically
 | 
						|
    task = Task.init(project_name="examples", task_name="3D plot reporting")
 | 
						|
 | 
						|
    print('reporting 3D plot graphs')
 | 
						|
 | 
						|
    # Get the task logger,
 | 
						|
    # You can also call Task.current_task().get_logger() from anywhere in your code.
 | 
						|
    logger = task.get_logger()
 | 
						|
 | 
						|
    # report graphs
 | 
						|
    report_plots(logger)
 | 
						|
 | 
						|
    # force flush reports
 | 
						|
    # If flush is not called, reports are flushed in the background every couple of seconds,
 | 
						|
    # and at the end of the process execution
 | 
						|
    logger.flush()
 | 
						|
 | 
						|
    print('We are done reporting, have a great day :)')
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    main()
 |