Downloads · 30 days
42
8% of all-time downloads
mlx-vision/mobilenet_v2-mlxim
mobilenet_v2-mlxim is a image classification model from mlx-vision. Use it when you need a label for an image. It is set up for mlx-image. The card lists the license as apache-2.0.
A MobileNetV2 model architecture, pretrained on ImageNet-1K.
Downloads · 30 days
42
8% of all-time downloads
All-time downloads
510
Public
Parameters
3.5M
14.2 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors14.2 MB · 100%
From the Hugging Face model README
A MobileNetV2 model architecture, pretrained on ImageNet-1K.
Disclaimer: this is a port of the Torchvision model weights to Apple MLX Framework.
See mlx-convert-scripts repo for the conversion script used.
pip install mlx-image
Here is how to use this model for image classification:
import mlx.core as mx
from mlxim.model import create_model
from mlxim.io import read_rgb
from mlxim.transform import ImageNetTransform
from mlxim.utils.imagenet import IMAGENET2012_CLASSES
transform = ImageNetTransform(train=False, img_size=224)
x = transform(read_rgb("cat.jpg"))
x = mx.array(x)
x = mx.expand_dims(x, 0)
model = create_model("mobilenet_v2")
model.eval()
logits = model(x)
predicted_idx = mx.argmax(logits, axis=-1).item()
predicted_class = list(IMAGENET2012_CLASSES.values())[predicted_idx]
print(f"Predicted class: {predicted_class}")
You can also use the embeds from layer before head:
import mlx.core as mx
from mlxim.model import create_model
from mlxim.io import read_rgb
from mlxim.transform import ImageNetTransform
transform = ImageNetTransform(train=False, img_size=224)
x = transform(read_rgb("cat.jpg"))
x = mx.array(x)
x = mx.expand_dims(x, 0)
# first option
model = create_model("mobilenet_v2", num_classes=0)
model.eval()
embeds = model(x)
# second option
model = create_model("mobilenet_v2")
model.eval()
embeds = model.get_features(x)