TF model cards
- Creating model cards for models trained with Keras!
- Model cards will automatically be created by the `PushToHubCallback` - the callback will peek at the metrics and accumulate information during the training run to enable this.
- Calling `model.push_to_hub()` will not, by default, create a model card. This method is cross-platform (it comes from the `PushToHubMixin`), and changing its behaviour would negatively affect `Trainer` users.
- Instead, Keras models now have a `create_model_card()` method if users want to create a model card outside of the `PushToHubCallback`. Because this method can't peek at the training history like the callback can, you need to pass the `History` object returned by `model.fit()` to create the card.
@sgugger all comments should be addressed and testing looks good. My main remaining concern is that `model.push_to_hub` does not generate a model card by default, because that method comes from the cross-platform `PushToHubMixin`. If you want, I can edit that method so that it creates a model card if you pass it a Keras model history? This would leave the behaviour for `Trainer` unchanged.<|||||>I'm fine with both options, so it's really up to what you think is best @Rocketknight1 
Also, if you could rebase on master to fix the CI that would be great :-)<|||||>Will do both!<|||||>@LysandreJik I'm hoping to post an example with it when it's ready, but right now I'm having some issues with the method generating malformed YAML and they're a pain to track down! <|||||>@sgugger @LysandreJik This should be ready to go now - some tests are failing even after rebasing but they have nothing to do with this PR. Okay if I merge?<|||||>Yes you can!