Memery lets you use human language to search your image collections.
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.
That’s where Memery comes in.
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
['../images/E84wm5UWEAAr5ie.png', '../images/images/E84wm5UWEAAr5ie.png']
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.