aim icon indicating copy to clipboard operation
aim copied to clipboard

[Feature Request] Add a plugin system to allows users to customize their own figures

Open Soptq opened this issue 2 years ago • 1 comments

🚀 Feature

Add a plugin system to aim, which allows users to customize their own figures.

Motivation

Currently aim supports number of metrics by default. However, during experiments, researchers may also need to display some custom metrics like model structure, network topology, etc. I think it is beneficial for aim to implement an abstract plugin system to allow users to customize their own figures.

Pitch

  • ability to register custom commands in python aim to save custom data.
  • ability to parse the saved data on the frontend.
  • ability to display the parsed data.

Alternatives

Currently an alternative is to draw the figure on python end using plotly.

Additional context

Tensorboard's plugin system: https://github.com/tensorflow/tensorboard/blob/master/ADDING_A_PLUGIN.md

Soptq avatar Jun 14 '22 06:06 Soptq

Hey @Soptq! Thanks for submitting this issue. Ability to customize Aim is something we are planning to support in the future. Implementing the plugin system will take some time and is not yet included in our current roadmap. However there are several building blocks already available for extending Aim.

  • Aim supports matplotlib and plotly figures as an input to aim.Figure object.
  • Figure is a sub-class of the base aim.CustomObject which is a core class for storing custom implemented objects in Aim storage. You can sub-class aim.CustomObject and use SDK to write/access stored objects.
  • aim.Sequence is a base class for getting the series of objects/scalar values in a more convenient way. A subclass of Sequence will allow to query objects of a new types (ones different from aim built-in types).

Let me know if this is helpful. 🙌

alberttorosyan avatar Jun 14 '22 10:06 alberttorosyan

Relates to https://github.com/aimhubio/aim/issues/2556

roubkar avatar Mar 01 '23 21:03 roubkar