YOLOv3 in Keras: a port that knows its place
A straightforward Keras re-implementation of YOLOv3 for developers who want the detector without the Darknet toolchain.

What it does
Converts the official Darknet YOLOv3 weights into a Keras/TensorFlow model and runs inference on images. You feed it the yolov3.weights file, run a conversion script borrowed from YAD2K, then point demo.py at your images. Results land in images/res/.
The interesting bit The project is essentially a bridge: it lets you stay in the Keras ecosystem while using weights trained in Darknet. The author notes that YOLOv3 shows “better classification ability than yolo v2” — a modest, paper-backed claim rather than marketing fluff.
Key highlights
- Converts official Darknet weights to Keras
.h5format via modifiedyad2k.py - Requires pinned, somewhat dated versions: TensorFlow-GPU 1.5.0, Keras 2.1.3, OpenCV 3.4
- Demo outputs show bounding boxes on standard test images (dog, person)
- Training is explicitly listed as TODO — this is inference-only for now
- ~600 stars suggests it solved a real “I don’t want to compile Darknet” problem
Caveats
- Dependency versions are frozen in 2018; expect friction on modern Python/TF installs
- Training not implemented; you’ll need another repo if you want to fine-tune
- README has rough edges (“floder” spelling, minimal error handling guidance)
Verdict Worth a look if you’re maintaining legacy Keras code or need to prototype quickly without touching C. Skip it if you want end-to-end training, modern TF2/Keras 3 compatibility, or production-grade packaging.