Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use FLANN #6

Open
lindahua opened this issue Jan 5, 2014 · 8 comments
Open

Use FLANN #6

lindahua opened this issue Jan 5, 2014 · 8 comments

Comments

@lindahua
Copy link
Collaborator

lindahua commented Jan 5, 2014

FLANN (http://www.cs.ubc.ca/research/flann/) is one of the most widely used library for approximate nearest neighbor search.

It is fast & reliable, available in Linux distro & Homebrew, and has a C interface.

@johnmyleswhite
Copy link
Owner

Yes, we should definitely use FLANN.

@johnmyleswhite
Copy link
Owner

There are also a few other libraries we will want to look into at some point: http://radimrehurek.com/2013/11/performance-shootout-of-nearest-neighbours-intro/

@johnmyleswhite
Copy link
Owner

@lindahua
Copy link
Collaborator Author

lindahua commented Jan 5, 2014

From this post, it appears to me that FLANN is the most reasonable choice at this point.

@lindahua
Copy link
Collaborator Author

lindahua commented Jan 5, 2014

I would suggest having a separate package (say FLANN.jl) as a wrapper, and let this depend on it.

@johnmyleswhite
Copy link
Owner

Yes, I think that's the right approach.

@wildart
Copy link

wildart commented Jun 6, 2014

Using FLANN requires manual memory management, because it maintains in-memory index. How does it fit into a proposed workflow of creating a model and using it for multiple predictions? It would require either clear resources the at the end of model usage or recalculate indexes every time when searching.

@lindahua
Copy link
Collaborator Author

lindahua commented Jun 6, 2014

Just treat the FLANN index like we treat other library that holds external resources (e.g. database connections).

We require the user to free the index when they have finished using it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants