Skip to content

Integrate with Fast.ai

fastai is a deep learning library which provides practitioners with high-level components that can quickly and easily provide state-of-the-art results in standard deep learning domains, and provides researchers with low-level components that can be mixed and matched to build new approaches.

Open In Colab

Comet SDKMinimum SDK versionMinimum fastai version
Python-SDK3.37.02.7.11

Start logging

Connect Comet to your existing code by adding in a simple Comet Experiment.

Add the following lines of code to your script or notebook:

import comet_ml

import fastai.vision

comet_ml.init()

# Your code here

learn = fastai.vision.vision_learner(...)

Log automatically

By integrating with fastai, Comet automatically logs the following items:

  • Model and graph description
  • Training metrics
  • Steps and epochs
  • HyperParameters

End to End Example

If you can't wait, check out the results of this example fastai experiment for a preview of what's to come.

Install Dependencies

pip install -U comet_ml fastai

Run the example

import comet_ml

from fastai.vision.all import (
    Categorize,
    Datasets,
    GrandparentSplitter,
    IntToFloatTensor,
    PILImageBW,
    ToTensor,
    URLs,
    error_rate,
    get_image_files,
    parent_label,
    resnet18,
    untar_data,
    vision_learner,
)

EPOCHS = 5

comet_ml.init(project_name="comet-examples-fastai-hello-world")
experiment = comet_ml.Experiment()

path = untar_data(URLs.MNIST_TINY)

items = get_image_files(path)
tds = Datasets(
    items,
    [PILImageBW.create, [parent_label, Categorize()]],
    splits=GrandparentSplitter()(items),
)
dls = tds.dataloaders(after_item=[ToTensor(), IntToFloatTensor()])

learn = vision_learner(dls, resnet18, pretrained=True, metrics=error_rate)

learn.fit_one_cycle(EPOCHS)

experiment.end()

Try it out!

Don't just take our word for it, try it out for yourself.

Use the Comet fastai callback

Comet logs your experiment through a callback executed when you run Learner.fit() in fastai. You do not need to add this callback yourself, we do it for you automatically. However, if you ever need to access the callback manually, call experiment.get_callback("fastai").

Configure Comet for fastai

You can control which fastai items are logged automatically. Use any of the following methods:

experiment = comet_ml.Experiment(
    auto_metric_logging=True # Can be True or False
    auto_param_logging=True # Can be True or False
)

Add or remove these fields from your .comet.config file under the [comet_auto_log] section to enable or disable logging.

[comet_auto_log]
metrics=true # can be true or false
parameters=true # can be true or false
export COMET_AUTO_LOG_PARAMETERS=true # Can be true or false
export COMET_AUTO_LOG_METRICS=true # Can be true or false

For more information about configuring Comet, see Configure Comet.

Jun. 5, 2024