Idea from #12
Status: Active
Created by @shuklak13
The ModelCardGenerator TFX pipeline component generates model cards.
For the detailed model card format, see the Model Card API.
For more general information about TFX, please see the TFX User Guide.
The ModelCardGenerator takes dataset statistics, model evaluation, and a pushed model to automatically populate parts of a model card.
Model card fields
can also be explicitly populated with a JSON string (this can be generated using
the json
module, see Example
below). If a field is populated both by TFX and JSON, the JSON value will
overwrite the TFX value.
The ModelCardGenerator writes model card documents to the model_card/
directory of its artifact output. It uses a default HTML model card template,
which is used to generate model_card.html
. Custom
templates
can also be used; each template input must be accompanied by a file name output
in the template_io
arg.
import json
from tfx_addons.model_card_generator.component import ModelCardGenerator
...
model_card_fields = {
'model_details': {
'name': 'my_model',
'owners': 'Google',
'version': 'v0.1'
},
'considerations': {
'limitations': 'This is a demo model.'
}
}
mc_gen = ModelCardGenerator(
statistics=statistics_gen.outputs['statistics'],
evaluation=evaluator.outputs['evaluation'],
pushed_model=pusher.outputs['pushed_model'],
json=json.dumps(model_card_fields),
template_io=[
('html/default_template.html.jinja', 'model_card.html'),
('md/default_template.md.jinja', 'model_card.md')
]
)
More details are available in the ModelCardGenerator API reference.
See our end-to-end demo for a full working example.