Git Product home page Git Product logo

mih's People

Contributors

kpjoshi avatar norouzi avatar simongog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mih's Issues

matchproblem

Hello,I have run your code,but I can not get the right match.would you please give me some help.thank you for you reply.

Understanding BucketGroup::data_insert and BucketGroup::count_insert

I am reading the code but cannot really understand what these two functions are doing:
BucketGroup::data_insert and BucketGroup::count_insert.

I guess the difficulty in understanding comes from the special data structure of BucketGroup.

Is it possible to give a more detailed introduction on how the data organized in BucketGroup? Thanks a lot.

C++ sample code for using mihasher?

I understand this is a very old repo and it uses matlab libraries. I wonder where I can find some sample c++ code that directly uses mihasher class to store hashes and then do a query against it.

The comments inside the code wasn't clear how to use mihasher class and I got some error by guessing the usage.

MIH runtime performance with not so big database

Hello,

i was testing MIH matching 500 query codes of length 293 Bits to 10K-20K in database.
my setup for parameter "m" (number of hash tables) is 19 to 14. KNN is always 2.

the matching results are good but runtime performance is worse compared to brute force matching each query to everything in database.

Can you please give me any ideas on how to improve runtime performance?

create_lsh_codes.m unfefined function 'fvecs_read'

Hi there. I tried to use the matlab script described in the README file to generate lsh codes to feed into your benchmark, but I get an error that a function called fvecs_read is not available. Can you please check this?
Do I have to include other matlab code?

>> run('create_lsh_codes.m')
Computing the data mean for the sift_1M dataset... 
Undefined function or variable 'fvecs_read'.

Error in create_lsh_codes (line 60)
    trdata = fvecs_read([datahome, '/ANN_SIFT1M/sift/sift_learn.fvecs']);

Thanks you.

CMake Error: HDF5_LIB

Hi, i'm working on Ubuntu 15.10. On compilation I got this error:

"CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
HDF5_LIB
linked by target "linscan" in directory /home/servidor-utfsm/mih
linked by target "mih" in directory /home/servidor-utfsm/mih"

How can I solve it?

Error about HDF5

Hi,
when I run your demo to test data lsh_64_sift_1B.mat ,the errors are:
Loading codes... HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5F.c line 586 in H5Fopen(): unable to open file major: File accessibilty minor: Unable to open file #001: H5Fint.c line 1384 in H5F_open(): unable to read superblock major: File accessibilty minor: Read failed #002: H5Fsuper.c line 530 in H5F__super_read(): truncated file: eof = 7541358080, sblock->base_addr = 512, stored_eof = 7939335155 major: File accessibilty minor: File has been truncated HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5D.c line 284 in H5Dopen2(): not a location major: Invalid arguments to routine minor: Inappropriate type #001: H5Gloc.c line 251 in H5G_loc(): invalid object ID major: Invalid arguments to routine minor: Bad value HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5D.c line 373 in H5Dget_space(): not a dataset major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5S.c line 955 in H5Sget_simple_extent_dims(): not a dataspace major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5Shyper.c line 6889 in H5Sselect_hyperslab(): not a data space major: Invalid arguments to routine minor: Inappropriate type status -1 start0: 0, B: 8, N: 100000 HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5Dio.c line 138 in H5Dread(): not a dataset major: Invalid arguments to routine minor: Inappropriate type status -1 HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5S.c line 431 in H5Sclose(): not a dataspace major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5D.c line 332 in H5Dclose(): not a dataset major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5F.c line 762 in H5Fclose(): not a file ID major: Invalid arguments to routine minor: Inappropriate type done. Loading queries... HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5F.c line 586 in H5Fopen(): unable to open file major: File accessibilty minor: Unable to open file #001: H5Fint.c line 1384 in H5F_open(): unable to read superblock major: File accessibilty minor: Read failed #002: H5Fsuper.c line 530 in H5F__super_read(): truncated file: eof = 7541358080, sblock->base_addr = 512, stored_eof = 7939335155 major: File accessibilty minor: File has been truncated HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5D.c line 284 in H5Dopen2(): not a location major: Invalid arguments to routine minor: Inappropriate type #001: H5Gloc.c line 251 in H5G_loc(): invalid object ID major: Invalid arguments to routine minor: Bad value HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5D.c line 373 in H5Dget_space(): not a dataset major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5S.c line 955 in H5Sget_simple_extent_dims(): not a dataspace major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5Shyper.c line 6889 in H5Sselect_hyperslab(): not a data space major: Invalid arguments to routine minor: Inappropriate type status -1 start0: 0, B: 8, N: 1000 HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5Dio.c line 138 in H5Dread(): not a dataset major: Invalid arguments to routine minor: Inappropriate type status -1 HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5S.c line 431 in H5Sclose(): not a dataspace major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5D.c line 332 in H5Dclose(): not a dataset major: Invalid arguments to routine minor: Inappropriate type HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 139870215686080: #000: H5F.c line 762 in H5Fclose(): not a file ID major: Invalid arguments to routine minor: Inappropriate type done. N = 1e+05 | NQ = 1000, range [0 1000) | B = 64 | K = 100 | m = 5 | R = 0 Populating 5 hashtables with 1e+05 entries... done. | cpu 0m0s | wall 0m0s query... done | cpu 0.001s | wall 0.001s | VM 0.0gb | RSS 0.0gb Writing results to file mih_64_1B.h5... Creating the file mih_64_1B.h5 Writing /refs/mih0.res with size [1000, 100] Writing /refs/mih0.nres with size [1000, 65] Writing /refs/mih0.stats with size [1000, 6] done.
could you help me, thanks.

I think it not a good code

In my opinion, your code is not a good code.
At first. In your code, something is very simply, but you do by a complex way. In fact, your code bitarray.h just a bool sign array, can replace with bool sign[100000](may be you want bitarray can Realization other function, but you do not complete finally).At second, your bucket_group is a pretty complex struct(complex realization and high time complexity), I think you maybe can realization by map.
At second, your code must be not a safe code.At first, Array32& Array32::operator = (const Array32 &rhs) must not a safe code.At second, I cannot run your code by some valid arguments, I think it must your error.
Fianlly, I must explain, It not a accuse.It just a code reader's complain.I have no right to accuse you,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.