Releasing a New YOLOv3 Implementation in PyTorch

Joseph NelsonPublished Apr 1, 2020
2 min read
SUMMARY
Roboflow released a PyTorch implementation of YOLOv3 built on the Ultralytics codebase, complementing the existing Keras version that users had requested an alternative to. In testing on a 12-class chess piece detection task, 300 epochs on Google Colab produced 0.93 recall and 0.978 mAP@50 in roughly one hour. Existing Roboflow users can export their dataset in YOLO Darknet format and drop the generated download link directly into the provided Colab notebook to start training.
PyTorch Logo

At Roboflow, we're constantly adapting our product to make it as easy as possible for users to create custom computer vision models (opens in a new tab) on high quality data. While we have an implementation of YOLOv3 in Keras (opens in a new tab), we continuously heard requests for support of YOLOv3 in PyTorch (opens in a new tab).

Today, we're introducing support for a PyTorch implementation of YOLOv3 (opens in a new tab), originally introduced (opens in a new tab) by the talented team at Ultralytics.

To find our implementation, navigate to our model library (opens in a new tab) or direct Colab link here (opens in a new tab).

In our initial tests, we found this YOLOv3 implementation (opens in a new tab) to be even more performant than our last. In fact, in 300 training epochs on Google Colab lasting slightly over an hour the model achieved 0.93+ recall and 0.978 mAP@50 on our (challenging) 12-class chess piece identification task.

If you are currently using our YOLOv3 TensorFlow implementation (opens in a new tab), we recommend attempting your results with the new notebook (opens in a new tab).

YOLOv3 Results graphs (GloU, Objectness, Classification, Precision, recall)
Results from our YOLOv3 testing on our chess dataset (opens in a new tab).

User Guide: Training a Custom PyTorch Model

If you're an existing Roboflow user with an uploaded object detection dataset (opens in a new tab), training a model with our PyTorch implementation (opens in a new tab) is trivial.

Navigate to the dataset version you seek to use. When exporting, select "YOLO Darknet (opens in a new tab) Weights," copy your download code Roboflow generates for you, and paste them into the PyTorch notebook at the cell marked # REPLACE THIS LINK WITH YOUR OWN.

If you're new to Roboflow but want to make use of this implementation, getting stated is easy. Roboflow is free for small datasets. Follow our Getting Started Guide or jump right into https://app.roboflow.com and follow the guided onboarding tutorial.

LatestFrom the Blog

Get started

Build on the Platform

For developers, engineers, and technical founders who want to get hands on. Try the free tier; the docs are open.

Bring it into your operation

For heads of AI, operations leaders, and enterprise teams. Bring a known problem, or work with us to find the first one worth taking on.