gallery/deeptagger
Přemysl Eric Janouch 36f6612603
Load images in multiple threads
This worsens CPU-only times by some five percent,
but can also make GPU-accelerated runtime twice as fast.
2024-01-18 18:31:10 +01:00
..
bench.sh Add a deep tagger in C++ 2024-01-18 18:31:09 +01:00
CMakeLists.txt Add a deep tagger in C++ 2024-01-18 18:31:09 +01:00
deeptagger.cpp Load images in multiple threads 2024-01-18 18:31:10 +01:00
download.sh Add a deep tagger in C++ 2024-01-18 18:31:09 +01:00
FindONNXRuntime.cmake Add a deep tagger in C++ 2024-01-18 18:31:09 +01:00
README.adoc Add a deep tagger in C++ 2024-01-18 18:31:09 +01:00

deeptagger

This is an automatic image tagger/classifier written in C++, without using any Python, and primarily targets various anime models.

Unfortunately, you will still need Python and some luck to prepare the models, achieved by running download.sh. You will need about 20 gigabytes of space.

Very little effort is made to make this work on non-Unix systems.

Getting this to work

To build the evaluator, install a C++ compiler, CMake, and development packages of GraphicsMagick and ONNX Runtime.

Prebuilt ONNX Runtime can be most conveniently downloaded from GitHub releases. Remember to install CUDA packages, such as nvidia-cudnn on Debian, if you plan on using the GPU-enabled options.

$ cmake -DONNXRuntime_ROOT=/path/to/onnxruntime -B build
$ cmake --build build
$ ./download.sh
$ build/deeptagger models/deepdanbooru-v3-20211112-sgd-e28.model image.jpg