aim
aim copied to clipboard
[Feature Request] Add a plugin system to allows users to customize their own figures
🚀 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
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 baseaim.CustomObject
which is a core class for storing custom implemented objects in Aim storage. You can sub-classaim.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 ofSequence
will allow to query objects of a new types (ones different from aim built-in types).
Let me know if this is helpful. 🙌
Relates to https://github.com/aimhubio/aim/issues/2556