Images Reporting

The image_reporting.py example demonstrates reporting (uploading) images in several formats, including NumPy arrays, uint8, uint8 RGB, PIL Image objects, and local files.

Trains uploads images to the bucket specified in the Trains configuration file, or you can configure Trains for image storage, see Logger.set_default_upload_destination (storage for artifacts is different). Set credentials for storage in the Trains configuration file.

Trains reports these images as debug samples in the Trains Web (UI), experiment details, RESULTS tab, DEBUG SAMPLES sub-tab.

When the script runs, it creates an experiment named image reporting, which is associated with the examples project.

Report images using the following formats by calling the Logger.report_image method.

  • Numpy arrays
  • uint8
  • uint8 RGB
  • PIL Image object
    # report image as float image
    m = np.eye(256, 256, dtype=np.float)
    Logger.current_logger().report_image("image", "image float", iteration=iteration, image=m)
    
    # report image as uint8
    m = np.eye(256, 256, dtype=np.uint8) * 255
    Logger.current_logger().report_image("image", "image uint8", iteration=iteration, image=m)
    
    # report image as uint8 RGB
    m = np.concatenate((np.atleast_3d(m), np.zeros((256, 256, 2), dtype=np.uint8)), axis=2)
    Logger.current_logger().report_image("image", "image color red", iteration=iteration, image=m)
    
    # report PIL Image object
    image_open = Image.open(os.path.join("data_samples", "picasso.jpg"))
    Logger.current_logger().report_image("image", "image PIL", iteration=iteration, image=image_open)
    

image

Double click a thumbnail and the image viewer opens.

image