Skip to content

Pass lists of scalars to wandb #3809

Description

🚀 Feature

When computing per class precision, F1-score, etc... it'd be very useful to have to possibility to put them all inside a list rather than flattened then sent to wandb.

When dealing with 10+ classes, summaries on wandb are extremely hard to read, especially when you keep adding more metrics.

Image

What would be nice is to expose the log call so that it could allow more flexibility in terms of format.

As for now, I'm considering switching temporarily to Lightning.ai until Ignite matures more as a framework.

P.S.: A little off-topic, but despite being able to customize loss functions transforms, I've had a hard time getting automated per-class metrics from ClassificationReport because lists dont have an attach() method. So instead of doing :

class_report = ClassificationReport(...)
prec_per_class = [class_report[str(i)]["precision"] for i in range(C)]

I had to do something rather tricky :

cm = ConfusionMatrix(...)
prec_per_class = (cm.diag() / (cm.sum(dim=1) + 1e-9)).tolist()

But even with tolist(), output is flattened before being sent to wandb.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions