FBNet

FBNet

FBNet is a type of convolutional neural architectures discovered through DNASarrow-up-right neural architecture search. It utilises a basic type of image model block inspired by MobileNetv2arrow-up-right that utilises depthwise convolutions and an inverted residual structure (see components).

The principal building block is the FBNet Blockarrow-up-right.

How do I use this model on an image?

To load a pretrained model:

Copied

>>> import timm
>>> model = timm.create_model('fbnetc_100', pretrained=True)
>>> model.eval()

To load and preprocess the image:

Copied

>>> import urllib
>>> from PIL import Image
>>> from timm.data import resolve_data_config
>>> from timm.data.transforms_factory import create_transform

>>> config = resolve_data_config({}, model=model)
>>> transform = create_transform(**config)

>>> url, filename = ("https://github.com/pytorch/hub/raw/master/images/dog.jpg", "dog.jpg")
>>> urllib.request.urlretrieve(url, filename)
>>> img = Image.open(filename).convert('RGB')
>>> tensor = transform(img).unsqueeze(0) # transform and add batch dimension

To get the model predictions:

Copied

To get the top-5 predictions class names:

Copied

Replace the model name with the variant you want to use, e.g. fbnetc_100. You can find the IDs in the model summaries at the top of this page.

To extract image features with this model, follow the timm feature extraction examplesarrow-up-right, just change the name of the model you want to use.

How do I finetune this model?

You can finetune any of the pre-trained models just by changing the classifier (the last layer).

Copied

To finetune on your own dataset, you have to write a training loop or adapt timmโ€™s training scriptarrow-up-right to use your dataset.

How do I train this model?

You can follow the timm recipe scriptsarrow-up-right for training a new model afresh.

Citation

Copied

Last updated