For years I was frustrated every time I tried to find an image on my hard drive: a meme to send to a friend, a photo of an important moment, a screenshot of a relevant quote. No matter how organized your folders, a hierarchical tree just can't capture all the dimensions of an image collection. And once you've found the right folder, your filenames better be easy to remember, or you still have to scan visually through hundreds of images.
This is a pre-computer workflow, sifting through folders of images and recognizing the one you need by eye. Computers make it faster, but they don't reduce the cognitive friction much.
Under the hood, memery uses the CLIP transformer developed by OpenAIto make image search meaning-full.
You can search for concrete nouns, like "bird" or "wizard", or abstract concepts like "graph" or "love". You can also search for text found in the image, like the word "signal".
Here's memery searching for "cat" in a dataset of wholesome memes:
Memery is also a library that can be included in python applications. For example, here's the first two results for "bird" in this website's image folder:
from memery.core import queryFlow birds = queryFlow('../images/', 'bird') birds[:2]
1020it [00:00, 74742.57it/s] 1020it [00:00, 28044.88it/s] 0%| | 0/1 [00:00<?, ?it/s]
starting timer Checking files Indexing Loaded 996 encodings Encoding 6 new images
100%|██████████| 1/1 [00:00<00:00, 6.17it/s]
Building treemap Saving 1001 encodings Converting query Searching 1001 images Done in 5.060962200164795 seconds
Memery has many other features, including a browser-based GUI and a command-line interface. It's an open source project, and you can help! Find memery at Github, test it out, file issues and pull requests.