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 on high quality data. While we have an implementation of YOLOv3 in Keras, we continuously heard requests for support of YOLOv3 in PyTorch.

Update: YOLO v5 Released

And it gets better results. We recommend skipping this post and jump straight to our YOLOv5 tutorial. You'll have a trained YOLOv5 model on your custom data in minutes.

Today, we're introducing support for a PyTorch implementation of YOLOv3, originally introduced by the talented team at Ultralytics.

To find our implementation, navigate to our model library or direct Colab link here.

In our initial tests, we found this YOLOv3 implementation 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, we recommend attempting your results with the new notebook.

YOLOv3 Results graphs (GloU, Objectness, Classification, Precision, recall)
Results from our YOLOv3 testing on our chess dataset.

User Guide: Training a Custom PyTorch Model

If you're an existing Roboflow user with an uploaded object detection dataset, training a model with our PyTorch implementation is trivial.

Navigate to the dataset version you seek to use. When exporting, select "YOLO Darknet 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 and follow the guided onboarding tutorial.