Downloads · 30 days
4
2% of all-time downloads
ihoflaz/dibas-mobilenet-v3-large
dibas-mobilenet-v3-large is a image classification model from ihoflaz. Use it when you need a label for an image. It is set up for timm. The card lists the license as mit.
This model is a fine-tuned MobileNetV3-Large for classifying bacterial colony images from the DIBaS dataset.
Downloads · 30 days
4
2% of all-time downloads
All-time downloads
215
Public
Repo size
52 MB
Likes
0
Public
Click a slice to open those files.
.pt17.6 MB · 34%
From the Hugging Face model README
This model is a fine-tuned MobileNetV3-Large for classifying bacterial colony images from the DIBaS dataset.
| Format | File | Size | Use Case |
|---|---|---|---|
| PyTorch (.bin) | pytorch_model.bin | 16.4 MB | Training, fine-tuning |
| TorchScript (.pt) | mobilenet_v3_large.pt | 17.6 MB | Python inference, iOS (Core ML) |
| ONNX (.onnx) | mobilenet_v3_large.onnx + .data | 17.0 MB | Cross-platform, Android, Edge |
pip install torch torchvision timm huggingface_hub
import torch
import timm
from huggingface_hub import hf_hub_download
# Download checkpoint
checkpoint_path = hf_hub_download(
repo_id="ihoflaz/dibas-mobilenet-v3-large",
filename="pytorch_model.bin"
)
# Create model
model = timm.create_model("mobilenetv3_large_100", pretrained=False, num_classes=33)
model.load_state_dict(torch.load(checkpoint_path, map_location="cpu"))
model.eval()
# Inference
from torchvision import transforms
from PIL import Image
transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
image = Image.open("bacteria_image.jpg").convert("RGB")
input_tensor = transform(image).unsqueeze(0)
with torch.no_grad():
output = model(input_tensor)
pred_idx = output.argmax(dim=1).item()
confidence = torch.softmax(output, dim=1)[0, pred_idx].item()
print(f"Predicted class: {pred_idx}, Confidence: {confidence:.2%}")
import torch
from huggingface_hub import hf_hub_download
# Download TorchScript model
model_path = hf_hub_download(
repo_id="ihoflaz/dibas-mobilenet-v3-large",
filename="mobilenet_v3_large.pt"
)
# Load and use
model = torch.jit.load(model_path, map_location="cpu")
model.eval()
# Inference (same preprocessing as above)
with torch.no_grad():
output = model(input_tensor)
import onnxruntime as ort
import numpy as np
from huggingface_hub import hf_hub_download
# Download ONNX files
onnx_path = hf_hub_download(
repo_id="ihoflaz/dibas-mobilenet-v3-large",
filename="mobilenet_v3_large.onnx"
)
# Data file will be downloaded automatically if in same directory
# Create session
session = ort.InferenceSession(onnx_path)
# Inference
input_name = session.get_inputs()[0].name
output = session.run(None, {input_name: input_array})[0]
pred_idx = np.argmax(output, axis=1)[0]
from huggingface_hub import hf_hub_download
labels_path = hf_hub_download(
repo_id="ihoflaz/dibas-mobilenet-v3-large",
filename="labels.txt"
)
with open(labels_path) as f:
labels = [line.strip() for line in f.readlines()]
print(f"Predicted: {labels[pred_idx]}")
Acinetobacter_baumannii, Actinomyces_israelii, Bacteroides_fragilis,
Bifidobacterium_spp, Candida_albicans, Clostridium_perfringens,
Enterococcus_faecalis, Enterococcus_faecium, Escherichia_coli,
Fusobacterium, Lactobacillus_casei, Lactobacillus_crispatus,
Lactobacillus_delbrueckii, Lactobacillus_gasseri, Lactobacillus_jensenii,
Lactobacillus_johnsonii, Lactobacillus_paracasei, Lactobacillus_plantarum,
Lactobacillus_reuteri, Lactobacillus_rhamnosus, Lactobacillus_salivarius,
Listeria_monocytogenes, Micrococcus_spp, Neisseria_gonorrhoeae,
Porphyromonas_gingivalis, Propionibacterium_acnes, Proteus,
Pseudomonas_aeruginosa, Staphylococcus_aureus, Staphylococcus_epidermidis,
Staphylococcus_saprophyticus, Streptococcus_agalactiae, Veillonella
Convert TorchScript to Core ML on macOS:
import coremltools as ct
import torch
model = torch.jit.load("mobilenet_v3_large.pt", map_location="cpu")
mlmodel = ct.convert(
model,
inputs=[ct.ImageType(shape=(1, 3, 224, 224), scale=1/255.0,
bias=[-0.485/0.229, -0.456/0.224, -0.406/0.225])]
)
mlmodel.save("BacteriaClassifier.mlpackage")
val session = OrtEnvironment.getEnvironment()
.createSession(modelBytes, OrtSession.SessionOptions())
@misc{dibas-mobilenet-v3-large,
author = {İbrahim Hulusi Oflaz},
title = {MobileNetV3-Large for Bacterial Colony Classification},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/ihoflaz/dibas-mobilenet-v3-large}
}
MIT License