meenakshiramanathan1/densenet-onnx
By meenakshiramanathan1 · ↓ 0 · ♥ 0 · Updated 2026-01-14
What's in this repo
This page lists the files in meenakshiramanathan1/densenet-onnx, including densenet121.onnx.
- 1 ONNX models (.onnx files)
- 4 files, including 1 .md, 1 .onnx, 1 .py
- Last updated 2026-01-14
ONNX files
| File | Size | Download |
|---|---|---|
| densenet121.onnx | — | Download |
How to use
These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.
README
DenseNet ONNX (exported from TorchVision)
This repository hosts an ONNX export of TorchVision DenseNet ImageNet classifiers. Models are sourced from Torch Hub (pytorch/vision:v0.10.0) and exported to ONNX for easy deployment with ONNX Runtime.
- Source weights: TorchVision v0.10.0 (ImageNet-1k)
- Supported variants:
densenet121,densenet161,densenet169 - Default input: NCHW
1 x 3 x 224 x 224RGB, normalized with ImageNet
If you are browsing on the Hugging Face Hub, you’ll find the ONNX file(s) under the Files tab. You can also reproduce the export yourself using the script below.
Quick start: Inference with ONNX Runtime
import numpy as np
import onnxruntime as ort
import torch
from PIL import Image
from torchvision.transforms import Compose, Resize, CenterCrop, PILToTensor, ConvertImageDtype, Normalize
# 1) Load ONNX model
session = ort.InferenceSession("densenet121.onnx", providers=["CPUExecutionProvider"])
input_name = session.get_inputs()[0].name
output_name = session.get_outputs()[0].name
# 2) Preprocess (ImageNet)
img = Image.open("your_image.jpg").convert("RGB")
transform = Compose([
Resize(256),
CenterCrop(224),
PILToTensor(),
ConvertImageDtype(torch.float32),
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
inp = transform(img).unsqueeze(0).numpy() # NCHW float32
# 3) Run inference
scores = session.run([output_name], {input_name: inp})[0] # (1, 1000)
pred = int(scores.argmax(axis=1)[0])
print("Top-1 class index:", pred)
To map indices to ImageNet-1k labels, you can fetch:
https://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt
Export from Torch Hub to ONNX (script)
Use the provided export script to reproduce an ONNX file from Torch Hub:
python export_to_onnx.py --variant densenet121 --output densenet121.onnx --opset 17
Options:
--variant: one ofdensenet121,densenet161,densenet169--opset: ONNX opset version (default: 17)--static-batch: make batch size static (by default, export uses dynamic batch)--no-sample: export with a dummy input instead of a sample image
Minimal export
import torch
from PIL import Image
from torchvision.transforms import Compose, Resize, CenterCrop, PILToTensor, ConvertImageDtype, Normalize
variant = "densenet121" # or 161/169
onnx_path = "densenet121.onnx"
torch_model = torch.hub.load("pytorch/vision:v0.10.0", variant, pretrained=True).eval()
img = Image.open("your_image.jpg").convert("RGB")
transform = Compose([
Resize(256),
CenterCrop(224),
PILToTensor(),
ConvertImageDtype(torch.float32),
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
img_tensor = transform(img).unsqueeze(0).contiguous()
torch.onnx.export(
torch_model,
img_tensor,
onnx_path,
opset_version=17,
input_names=["input"],
output_names=["logits"],
dynamic_axes={"input": {0: "batch_size"}, "logits": {0: "batch_size"}},
)
Model info
Created: 2026-01-14
Updated: 2026-01-14
View on Hugging FaceFiles (4)
Related models
More from meenakshiramanathan1
No other models by this author.