Skip to content


Repository files navigation


Build Status Go Report Card Codacy Badge


🧠 AI powered image tagger backed by DeepDetect


Because sometimes, you have folders full of badly named pictures, and you want to be able to understand what you have in your hard drive.

Prerequisites & installation

You need DeepDetect installed, the easiest way is using docker:

docker pull beniz/deepdetect_cpu
docker run -d -p 8080:8080 beniz/deepdetect_cpu

Right now, the only supported installation of DeepDetect that works with DeepSort is the deepdetect_cpu container, because it contain the good path for the pre-installed resnet-50 and googlenet models.

Then, download the latest DeepSort release from

Unzip your release, rename it DeepSort and make it executable with:

chmod +x DeepSort


DeepSort support few different parameters, you're obliged to fill two of them: --url or -u that correspond to the URL of your DeepDetect server. --input or -i that correspond to your local folder full of images.

For more informations, refeer to the helper:

./DeepSort --help

[-u|--url] is required
usage: deepsort [-h|--help] -u|--url "<value>" -i|--input "<value>"
                [-o|--output "<value>"] [-n|--network (resnet-50|googlenet)]
                [-R|--recursive] [-j|--jobs <integer>] [-d|--dry-run]

                AI powered image tagger backed by DeepDetect


  -h  --help       Print help information
  -u  --url        URL of your DeepDetect instance (i.e: http://localhost:8080)
  -i  --input      Your input folder.
  -o  --output     Your output folder, if output is set, original files will
                   not be renamed, but the renamed version will be copied in
                   the output folder.
  -n  --network    The pre-trained deep neural network you want to use, can be
                   resnet-50 or googlenet. Default: resnet-50
  -R  --recursive  Process files recursively.
  -j  --jobs       Number of parallel jobs. Default: 1
  -d  --dry-run    Just classify images and return results, do not apply.

Todo list

  • Getting docker out of the loop (each user install his own DeepDetect)
  • ResNet 50 integration
  • Output folder (copy and not rename)
  • NSFW tagging (Yahoo open_nsfw)
  • XMP metadata writing
  • GPU support