This documentation is for fastai v1. If you use the current version of fastai, you should refer to fastai page.
For scripts using fastai v1, we have a callback that can automatically log model topology, losses, metrics, weights, gradients, sample predictions and best trained model.
from wandb.fastai import WandbCallback
learn = cnn_learner(data, model, callback_fns=WandbCallback)
Requested logged data is configurable through the callback constructor.
from functools import partial
learn = cnn_learner(
data, model, callback_fns=partial(WandbCallback, input_type="images")
It is also possible to use WandbCallback only when starting training. In this case it must be instantiated.
Custom parameters can also be given at that stage.
learn.fit(epochs, callbacks=WandbCallback(learn, input_type="images"))
We've created a few examples for you to see how the integration works:
- Classify Simpsons characters: A simple demo to track and compare Fastai models
- Semantic Segmentation with Fastai: Optimize neural networks on self-driving cars
WandbCallback() class supports a number of options:
|learn||N/A||the fast.ai learner to hook.|
|save_model||True||save the model if it's improved at each step. It will also load best model at the end of training.|
|mode||auto||'min', 'max', or 'auto': How to compare the training metric specified in |
|monitor||None||training metric used to measure performance for saving the best model. None defaults to validation loss.|
|log||gradients||"gradients", "parameters", "all", or None. Losses & metrics are always logged.|
|input_type||None||"images" or None. Used to display sample predictions.|
|validation_data||None||data used for sample predictions if input_type is set.|
|predictions||36||number of predictions to make if input_type is set and validation_data is None.|
|seed||12345||initialize random generator for sample predictions if input_type is set and validation_data is None.|