gitwtfhub

wtf is keras-yolo3?

qqwweee/keras-yolo3 — explained in plain English

Analysis updated 2026-06-24

7,127PythonAudience · researcherComplexity · 4/5Setup · hard

TL;DR

keras-yolo3 is a Keras and TensorFlow implementation of YOLOv3 object detection that lets you run a pre-trained model on images and videos, or train your own detector on custom object categories.

Mindmap

mindmap
  root((repo))
    What it does
      YOLOv3 in Keras
      Object detection
      Custom training
    Getting started
      Download YOLO weights
      Run convert script
      Run detection script
    Training
      Custom annotations
      Frozen layer training
      Bottleneck features
    Variants
      Full YOLOv3
      Tiny YOLOv3
      Multi-GPU support

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run YOLOv3 on your own images to detect and locate objects across the 80 standard COCO categories using pre-trained weights.

REASON 2

Train a custom object detector on your own image dataset by preparing an annotation file and running the included training script.

REASON 3

Use Tiny YOLOv3 for faster, lighter object detection on machines without a powerful GPU.

REASON 4

Convert official YOLO weights to Keras format and run video inference using the provided detection script.

What's in the stack?

PythonKerasTensorFlowYOLO

How it stacks up

qqwweee/keras-yolo3jarun/bukupyqt5/pyqt
Stars7,1277,1277,127
LanguagePythonPythonPython
Setup difficultyhardeasymoderate
Complexity4/52/52/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Built on TensorFlow 1.6 and Keras 2.1.5, running on modern TensorFlow 2.x requires significant compatibility fixes.

The explanation does not specify the license terms.

Wtf does this do

keras-yolo3 is a Python implementation of YOLOv3, a system for detecting and locating objects in images and videos. YOLO stands for You Only Look Once, referring to how the model processes an entire image in a single pass to identify where objects are and what they are. This implementation is built on top of Keras, a Python library for working with neural networks, using TensorFlow as the underlying computation engine. To get started, you download the official YOLOv3 weights file from the original YOLO project website, then run a conversion script included in this repository to translate those weights into a format Keras can read. After that, you can run detection on a single image or on a video file using the provided script. The script supports multiple GPUs if you have more than one available, and there is also a smaller, faster variant called Tiny YOLOv3 for cases where speed matters more than accuracy. If you want to train the model on your own categories of objects rather than the default 80 classes, you prepare an annotation file that lists each image path alongside the bounding box coordinates and class labels for every object in that image. You then run the training script, which first freezes the early layers of the network and only trains the final layers, a common approach that saves time and works well when starting from pretrained weights. A separate script handles the bottleneck feature approach, which pre-computes intermediate outputs so that training is feasible even on a machine with only a CPU. The README notes that results differ slightly from the original Darknet implementation, that inference is somewhat slower, and that the training approach shown is a starting point rather than a definitive recipe. The project was tested with Python 3.5, Keras 2.1.5, and TensorFlow 1.6, which are older versions, so compatibility with newer software may require adjustments.

Yoink these prompts

Prompt 1
I downloaded the YOLOv3 weights file. Show me the exact command to convert them to Keras format using the convert.py script in this repo.
Prompt 2
How do I prepare the annotation file format that keras-yolo3 expects when training on my own dataset of 5 custom object classes?
Prompt 3
Run object detection on a folder of images with keras-yolo3 and save output images with bounding boxes drawn on them.
Prompt 4
I only have a CPU. How do I use the bottleneck feature approach in keras-yolo3 to train on my custom dataset without a GPU?

Frequently asked questions

wtf is keras-yolo3?

keras-yolo3 is a Keras and TensorFlow implementation of YOLOv3 object detection that lets you run a pre-trained model on images and videos, or train your own detector on custom object categories.

What language is keras-yolo3 written in?

Mainly Python. The stack also includes Python, Keras, TensorFlow.

What license does keras-yolo3 use?

The explanation does not specify the license terms.

How hard is keras-yolo3 to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is keras-yolo3 for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.