Skip to main content

converts from darknet weights to tf, onnx, trt and other model formats

Project description

darknet2any

Introduction

darknet2any helps you convert darknet trained models into most modern formats including tflite, keras, onnx, and trt. It also includes sample prediction implementations for some of these model formats so you can make your own translations.

Installation

PyPi Project Page

### nvidia cuda install
pipx install "darknet2any[tensorrt]"

### tflite/litert install
pipx install "darknet2any[litert]"

### cpu only install
pipx install "darknet2any[cpu]"

### intel arc gpu install
pipx install "darknet2any[vino]"

### basic amd install
pipx install "darknet2any[rocm]"

### full amd install with migraphx (mxr) support on Ubuntu
git clone https://github.com/jredmondson/darknet2any.git
darknet2any/scripts/install_amd.sh

### macos install requires brew and creative PATH setting and avoiding zsh file globbing
### additionally, you have to tie pipx to this specific version. Mac. Fun.
brew install python@3.10
export PATH="/opt/homebrew/opt/python@3.10/libexec/bin:$PATH"
/opt/homebrew/opt/python@3.10/libexec/bin/python -m pip install pipx
pipx install "darknet2any[cpu]"

Tool Listing

  • darknet2onnx: converts from darknet to onnx
  • darknet2torch: converts from darknet to torch
  • darknet2visual: visualizes all layers within darknet models
  • onnx2tf: external tool for converting from onnx to tensorflow formats
  • onnx2trt: converts from onnx to tensorrt engines
  • predict_darknet: predicts a directory of images with darknet weights
  • predict_onnx: predicts a directory of images with onnx session
  • predict_tflite: predicts a directory of images with tflite model
  • predict_trt: predicts a directory of images with trt engine

Usage

Converting darknet to other formats

In general, any modern script has -h built in from the command line. If you run into any problems, try passing in -h, e.g.,

darknet2onnx -h

To generate all kinds of fun formats, try:

darknet2onnx -i example.weights
onnx2tf -i example.onnx -o .  -otfv1pb -okv3 -oh5
onnx2trt -i example.onnx

The generated formats will include:

  • onnx (op11 is default atm)
  • tensorrt (pretty much most optimal format on any CUDA)
  • TF v1 (.pb) format
  • Keras v3
  • Keras v5
  • TF lite

See onnx2tf cli options for some of the extensive options available for quant options like int8, uint8, float32, etc.

Batch conversion of weights to onnx to trt

darknet2onnx --input-dir {dir_with_weights_files}
onnx2trt --input-dir {dir_with_weights_files} --fp16

Running your trt model on image directories

predict_trt -i example.trt --image-dir ~/Pictures

This will by default create labeled images in the local labeled_images directory. Check it out to see how accurate your model is.

darknet2visualize

This script visualizes each layer of a yolo cnn, provided some example input image to help you see how the layers of the cnn convolve toward the boxes.

Recommended usage

darknet2visual -i {weight_path}/example.weights -o {output_image_path} --image {image_path}/my_image.jpg

The above would load the darknet weights at {weight_path}/example.weights, read the image at {image_path}/my_image.jpg and save every layer of the cnn's outputs to {output_image_path}/{image_name}_layer_{layer_id}.png. You can start from the minimum layer (0) by default or you can specify a starting layer such as 35 with -l {starting_layer_id}.

Operating Systems Supported

  • Ubuntu: all tools are supported
  • Mac: all tools are supported
  • Windows: everything but predict_tflite is supported

Bugs/Issues

Feel free to make an issue on this repo if you have trouble

Project Sponsorship

Additional Help with Darknet/Yolo/onnx2tf.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

darknet2any-0.7.6.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darknet2any-0.7.6-py3-none-any.whl (58.6 kB view details)

Uploaded Python 3

File details

Details for the file darknet2any-0.7.6.tar.gz.

File metadata

  • Download URL: darknet2any-0.7.6.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for darknet2any-0.7.6.tar.gz
Algorithm Hash digest
SHA256 b4d0a50974c3b5dcbe706f05e159f9585fd9e8e98599edcbc1905ed9335b166b
MD5 c333d0a59d7380ad7ecad9d598be2f1b
BLAKE2b-256 d4f45faba924ec78b8831ad1cc69766c3393f42c496dd04b11e0a16344c66a31

See more details on using hashes here.

Provenance

The following attestation bundles were made for darknet2any-0.7.6.tar.gz:

Publisher: python-publish.yml on jredmondson/darknet2any

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file darknet2any-0.7.6-py3-none-any.whl.

File metadata

  • Download URL: darknet2any-0.7.6-py3-none-any.whl
  • Upload date:
  • Size: 58.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for darknet2any-0.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 be5d2ffd96eca73edc0f503b80f998502d7e073268a455dc12dc6da95b6d5797
MD5 2108a0555f53856d20303bf18113c02a
BLAKE2b-256 6df3d06ef58f7c7e8edca047aead3690250c3ad2e377ea8576c30738e39d6d7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for darknet2any-0.7.6-py3-none-any.whl:

Publisher: python-publish.yml on jredmondson/darknet2any

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page