Does the algorithm generate a binary hash? or does it generates a real valued vector?
I have been using Tensor Flow to build something similar, though its significantly more computationally expensive but can allow you to find semantically related images. I still have to find an optimal encoding scheme for efficient nearest neighbors.