Replies: 2 comments 4 replies
-
@e-yi Thanks for interesting proposition. I took a closer look at the code. So the way I see it:
Generally, I think metrics are strongly tied to the LightningModule. As such, making them pluggable through a separate subconfig doesn’t seem to bring much value for me. I currently don’t see a scenario when it’s useful to switch metrics during development - I might add more metrics to my lightning module over time, but I don’t see the need of replacing one metric with the other when I can just log everything. If I switch metric, then usually it means I switch the whole LightningModule since many of training procedures also need to be changed. So I think it's easiest to treat metrics as something specific for given LightningModule. You could decouple metrics if it makes it faster for you to implement new LightningModules. But if the project isn't enourmous then I like the minimal design aesthetic. In small projects there is no need to spread your code over complex abstractions making it harder to read |
Beta Was this translation helpful? Give feedback.
-
For anyone interested in this topic, I have developed a package named As this is my first package, I'm actively seeking feedback to improve its design and usability. I'd really appreciate any suggestions from the community, especially from those who have tackled similar challenges. @ashleve, given this cool template you built, your insights would be particularly valuable. Please take a look at |
Beta Was this translation helpful? Give feedback.
-
Currently, metrics are defined in
src. models
(LightningModule), along with the training procedures. Maybe these two can be decoupled? I think metircs are usually task-specific, and the training procedures are more model-specific?I've made some modifications to enable configurable metrics here.
Any feedback on this idea will be greatly appreciated!
Beta Was this translation helpful? Give feedback.
All reactions