from fastai.collab import *
from fastai.gen_doc.nbdoc import *
from fastai.callbacks.tensorboard import *
Load tensorboard magic command to show tensorboard embed in Jupyter Notebook.
%load_ext tensorboard
show_doc(LearnerTensorboardWriter)
class LearnerTensorboardWriter[source][test]
LearnerTensorboardWriter(learn:Learner,base_dir:Path,name:str,loss_iters:int=*25,hist_iters:int=500,stats_iters:int=100*) ::LearnerCallback
No tests found for LearnerTensorboardWriter. To contribute a test please refer to this guide and this discussion.
Broadly useful callback for Learners that writes to Tensorboard. Writes model histograms, losses/metrics, and gradient stats.
First let's show an example of use, with a training on the MovieLens sample dataset.
path = untar_data(URLs.ML_SAMPLE)
ratings = pd.read_csv(path/'ratings.csv')
series2cat(ratings, 'userId', 'movieId')
data = CollabDataBunch.from_df(ratings, seed=42)
learn = collab_learner(data, n_factors=30, y_range = [0, 5.5])
Specify log path for tensorboard to read from. Then append callback partial to learner callback functions.
project_id = 'projct1'
tboard_path = Path('data/tensorboard/' + project_id)
learn.callback_fns.append(partial(LearnerTensorboardWriter,
base_dir=tboard_path,
name='run1'))
run tensorboard magic command with logdir parameter. Default port is 6006.
%tensorboard --logdir=$tboard_path --port=6006
Or you can launch the Tensorboard server from shell with tensorboard --logdir=data/tensorboard/project1 --port=6006 then navigate to http://localhost:6006
learn.fit(10)
You don't call these yourself - they're called by fastai's Callback system automatically to enable the class's functionality.
show_doc(LearnerTensorboardWriter.on_train_begin)
on_train_begin[source][test]
on_train_begin(****kwargs**:Any)
No tests found for on_train_begin. To contribute a test please refer to this guide and this discussion.
To initialize constants in the callback.
show_doc(LearnerTensorboardWriter.on_batch_end)
on_batch_end[source][test]
on_batch_end(last_loss:Tensor,iteration:int,train:bool, ****kwargs**)
No tests found for on_batch_end. To contribute a test please refer to this guide and this discussion.
Callback function that writes batch end appropriate data to Tensorboard.
show_doc(LearnerTensorboardWriter.on_backward_end)
on_backward_end[source][test]
on_backward_end(iteration:int,train:bool, ****kwargs**)
No tests found for on_backward_end. To contribute a test please refer to this guide and this discussion.
Callback function that writes backward end appropriate data to Tensorboard.
show_doc(LearnerTensorboardWriter.on_epoch_end)
on_epoch_end[source][test]
on_epoch_end(last_metrics:MetricsList,iteration:int, ****kwargs**)
No tests found for on_epoch_end. To contribute a test please refer to this guide and this discussion.
Callback function that writes epoch end appropriate data to Tensorboard.