I have a million pictures, and need to categorize them with keywords.

Example: A picture of a dog driving a car near the Eiffel Tower would get the keywords "dog" and "car" and "eiffel tower".


  • No programming required. Just install a package and it is usable directly via command line or HTTP API.
  • No need to "train" it, the software already includes the results of the training.
  • Runs on Linux or Mac or Windows.
  • 100% open source (training data and training software do not have to be open source, but the final software including data resulting from the training must be open source)
  • The objects to recognize are objects frequently seen by humans (dog), types of landscapes (forest), famous places (Eiffel Tower). The more the better, bonus for also including other types of concepts such as famous people (Nelson Mandela).
  • Super-bonus if the keywords are Wikidata objects (dog → https://www.wikidata.org/wiki/Q144)
  • Bonus for providing a probability with each keyword (97% chances that this picture shows a dog)

1 Answer 1


On the Tensorflow Github site there are pretrained models, some of which are based on Image collections. I think with some digging you'll find more.

Here is one available as a NodeJS model: MobileNet - Classify images with labels from the ImageNet database.

`npm i @tensorflow-models/mobilenet`

I haven't used it personally though. A while back, at a Meetup, I've seen a talk by someone else using such pretrained models, with Python.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.