Quick Start#
Installation#
Install Moonshine via pip
$ pip install moonshine
or install from the latest Github code
$ pip install git+https://github.com/moonshinelabs-ai/moonshine
Getting Started#
The Moonshine Python package offers a light wrapper around our pretrained PyTorch models. You can load the pretrained weights into your own model architecture and fine tune with your own data:
import torch.nn as nn
from moonshine.models.unet import UNet
class SegmentationModel(nn.Module):
def __init__(self):
super().__init__()
# Create a blank model based on the available architectures.
self.backbone = UNet(name="unet50_fmow_rgb")
# If we are using pretrained weights, load them here. In
# general, using the decoder weights isn't preferred unless
# your downstream task is also a reconstruction task. We suggest
# trying only the encoder first.
self.backbone.load_weights(
encoder_weights="unet50_fmow_rgb", decoder_weights=None
)
# Run a per-pixel classifier on top of the output vectors.
self.classifier = nn.Conv2d(32, 2, (1, 1))
def forward(self, x):
x = self.backbone(x)
return self.classifier(x)
You can also configure data pre-processing to make sure your data is formatted the same way as the model pretraining was done.
from moonshine.preprocessing import get_preprocessing_fn
preprocess_fn = get_preprocessing_fn(model="unet", dataset="fmow_rgb")