fastai v1
note
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.
import wandb
from wandb.fastai import WandbCallback
wandb.init()
learn = cnn_learner(data, model, callback_fns=WandbCallback)
learn.fit(epochs)
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.
learn.fit(epochs, callbacks=WandbCallback(learn))
Custom parameters can also be given at that stage.
learn.fit(epochs, callbacks=WandbCallback(learn, input_type="images"))
Example Codeโ
We've created a few examples for you to see how the integration works:
Fastai v1
- Classify Simpsons characters: A simple demo to track and compare Fastai models
- Semantic Segmentation with Fastai: Optimize neural networks on self-driving cars
Optionsโ
WandbCallback()
class supports a number of options:
Keyword argument | Default | Description |
---|---|---|
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 between steps. |
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. |