NES Plankton Classifier 2022 v2.4 (20220209_Jan2022_NES_2.4)
Inception V3 model for automated classification of plankton and other particles imaged by the
Imaging FlowCytobot (IFCB) on the Northeast U.S. Shelf (NES). Classifies 155 categories
including phytoplankton, microzooplankton, detritus, and imaging artifacts.
This model is intended for automated taxonomic classification of IFCB imagery collected on the
Northeast U.S. Shelf. It is suitable for operational use in plankton monitoring pipelines.
Performance may degrade on IFCB data from other geographic regions or instruments with
significantly different optical configurations.
Model Files
File
Description
20220209_Jan2022_NES_2.4.onnx
IFCB imagery ONNX model for inference (~85 MB)
20220209_Jan2022_NES_2.4.cpu.onnx
non-GPU optimized model (historical)
labels.json
Integer index → class name mapping
config.json
Model architecture summary
preprocessor_config.json
Image preprocessing parameters
The main "cuda optimized" and "cpu" model versions return equivalent results. Both models will run fine on cpu or gpu.
The main version folds BatchNormalization nodes into the preceding Conv layer, improving GPU performance.
The "cpu" model retains the explicit BatchNormalization nodes and is included for historical reasons.
Output results are equivalent, barring minor floating-point score differences.
Property
CPU
CUDA
IR version
6
7
Opset
11
12
Total nodes
331
237
BatchNormalization nodes
94
0
Conv nodes with bias
0
94
Initializers
472
190
How to Use
Install Requirements
To run inference on IFCB bins, use of ifcb-inference is recommended. See link for details on installation and inference-runtime options.
If your machine is gpu-enabled, use the [cuda] option (uses onnxruntime-gpu[cuda,cudnn]). Otherwise use the [cpu] option (uses onnxruntime).
For dataloading performance with ifcb-infer, it is recommended to use [torch] option. For lighter deployments in constrained environments, this option can be omitted (a simpler dataloader without additional dependencies will be used instead).
1# Download the model and labels to current directory using huggingface hf command2hf download sosiklab/NES-plankton-classifier-2022 20220209_Jan2022_NES_2.4.onnx labels.json --local-dir .
Optionally, also download example-data, included here for example inference below.
Realistically, you'd have your own ifcb bins you'd want to run inference on
Best at 15 of 26 (early stopping patience=10, max=60)
Input resolution
299 × 299
Training date
2022-02-15
Performance
Validation scores:
Metric
Value
F1 Weighted
0.9415
F1 Macro
0.9191
Best epoch
15
Independently reproduced by running this published ONNX model over the full validation split
(19,409 images) via onnxruntime, using the preprocessing spec above: F1 Weighted 0.9421, F1 Macro
0.9211 — consistent with the original training-time scores above (small differences are expected
from floating-point/interpolation differences between the original PyTorch pipeline and this
ONNX/PIL reproduction).
Per-class precision, recall, and F1 on the validation split (click to expand)
Support is the number of validation-split instances of that class (not a prediction count) —
low-support classes should be read with caution, since a single misclassification swings their
precision/recall/F1 much more than it would for a high-support class.
Training was initialized from torchvision's Inception_V3_Weights.IMAGENET1K_V1 checkpoint,
distributed under torchvision's BSD-3-Clause license.
Citation
If you use this model in your research, please cite the Woods Hole Oceanographic Institution
and the Sosik Lab. A formal citation will be added here upon publication, including the model DOI
and any applicable funding/award number.