TransmogrifAI
TransmogrifAI copied to clipboard
Allow adding/getting metadata on the model level
Problem
We would like to be able to store some types of metadata of the level of the model, e.g instance holdout splits. Currently there is no easy way to store metadata with the trained model, except if not through OpParams, stage metadata or manually if a separate file.
Solution
We would like to add two methods to OpWorkflowModel class to allow saving/loading metadata with the model:
class OpWorkflowModel {
def addMetadata[T <: Product](name: String, value: T): this.type
def getMetadata[T <: Product](name: String): Try[T]
}
Alternatives
Store metadata in custom map in OpParams or in a separate file.
Additional context N/A
Hello, I was wondering if I could work on this issue, I am new and am currently familiarizing myself with the code structure of TransmogrifAI. I know this might be a tough task for a beginner, but was wondering if I could take a shot at it. -a1pha
@a1pha this is a simple and well defined task. You can start by looking into how we serialize our models - OpWorkflowModelWriter and OpWorkflowModelReader. You would need to extend them to allow saving / loading custom use metadata of the specified type T.
@tovbinm Thanks for your feedback, I was hoping to work on this as a first issue while also applying for GSoC. I will get started right away!
Thanks, -a1pha
@a1pha I couldn't find any related commits, so if you're not on the issue and don't mind, I would like to work on it.
@tovbinm @gerashegalov I'm planning to pick this up. Just wanted to see if this is still needed.
For internal use It may not be as high priority but let us hear from @leahmcguire and @Jauntbox too
This would be a useful feature and is a good first issue @gerashegalov
ok, let us do it