Choosing a model size
Bigger models see more; smaller ones run faster. Every fotonet size takes the same input and returns the same output, so switching is one word in your code.
The four sizes
| Model | Parameters | Compute at 640 | Good for |
|---|---|---|---|
fotonetn | 2.85M | 6.95 GFLOPs | Live video, laptops, edge boxes |
fotonets | 11.49M | 27.43 GFLOPs | Most projects: the balance point |
fotonetm | 22.23M | 63.38 GFLOPs | More detail when a few extra milliseconds are fine |
fotonetl | 70.32M | 161.51 GFLOPs | Servers and offline jobs |
fotonetn is available now, at 32.1 AP on COCO. The other sizes are in the package and their weights are coming.
How to choose
- Know your budget first. How many frames per second, on which device? A webcam feed at 30 fps leaves about 33 ms per frame for everything.
- Start with nano. On an RTX 4060, fotonetn goes from image to boxes in 7.5 ms. If it finds what you need, you are done.
- Move up when accuracy is the bottleneck, not before. Measure mAP on your own validation images, not on COCO; your data decides.
Switching is one word
model = Fotonet("fotonetn") # try "fotonets", "fotonetm" or "fotonetl" later
Training, export and every result object work the same for all sizes.