All Projects → HuangQiang → H2_ALSH

HuangQiang / H2_ALSH

Licence: GPL-3.0 license
Accurate and Fast ALSH for Maximum Inner Product Search (KDD 2018)

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to H2 ALSH

xbox-winfsp
Brings native support for Xbox filesystems (FATX, STFS & GDFX/XGD/XDVDFS) to Windows.
Stars: ✭ 37 (+105.56%)
Mutual labels:  xbox
OpenXDK
OpenXDK is an Open Source, Free, Legal Xbox Development Kit. OpenXDK is being developed to facilitate hobbyist and "homebrew" coding for the Microsoft XBox.
Stars: ✭ 23 (+27.78%)
Mutual labels:  xbox
SteamAchievementNotifier
Steam Achievement Notifier is an Electron application that shows a customisable notification when you unlock any Steam Achievement! It uses the Steam Web API to track achievement stats in real time, and displays an achievement summary within the notification.
Stars: ✭ 77 (+327.78%)
Mutual labels:  xbox
image-ndd-lsh
Near-duplicate image detection using Locality Sensitive Hashing
Stars: ✭ 42 (+133.33%)
Mutual labels:  lsh
mipsasm
MIPS assembler and IDE
Stars: ✭ 45 (+150%)
Mutual labels:  mips
nv2a-trace
A tracing software like apitrace for the original Xbox GPU
Stars: ✭ 20 (+11.11%)
Mutual labels:  xbox
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (+216.67%)
Mutual labels:  mips
BUAA CO
2017级北航计算机学院计算机组成原理课程设计(MIPS CPU)
Stars: ✭ 66 (+266.67%)
Mutual labels:  mips
rebuild
Zero-dependency, reproducible build environments
Stars: ✭ 48 (+166.67%)
Mutual labels:  mips
product-quantization
🙃Implementation of vector quantization algorithms, codes for Norm-Explicit Quantization: Improving Vector Quantization for Maximum Inner Product Search.
Stars: ✭ 40 (+122.22%)
Mutual labels:  lsh
uvmm
Virtual machine monitor for L4Re
Stars: ✭ 22 (+22.22%)
Mutual labels:  mips
Xb2XInput
XB2X: User-mode Windows driver for Xbox OG controllers, supporting both XInput and DirectInput.
Stars: ✭ 70 (+288.89%)
Mutual labels:  xbox
awesome-n64-development
A curated list of Nintendo 64 development resources including toolchains, documentation, emulators, example code, and more
Stars: ✭ 210 (+1066.67%)
Mutual labels:  mips
xcloud-keyboard-mouse
Chrome extension for controlling Xbox Cloud Gaming (Project xCloud) using a keyboard and mouse
Stars: ✭ 78 (+333.33%)
Mutual labels:  xbox
parquet-dotnet
🐬 Apache Parquet for modern .Net
Stars: ✭ 199 (+1005.56%)
Mutual labels:  xbox
xboxpy
Python module to interface with original Xbox hard- and software
Stars: ✭ 23 (+27.78%)
Mutual labels:  xbox
GoRAT
GoRAT (Go Remote Access Tool) is an extremely powerful reverse shell, file server, and control plane using HTTPS reverse tunnels as a transport mechanism.
Stars: ✭ 34 (+88.89%)
Mutual labels:  mips
NevolutionX
Original Xbox dashboard created with nxdk
Stars: ✭ 76 (+322.22%)
Mutual labels:  xbox
openwrt-useful-tools
A repo containing different tools compiled specifically for the Hak5 WiFi Pineapple MK6 and MK7.
Stars: ✭ 155 (+761.11%)
Mutual labels:  mips
HIGH-TO-LOW
in this repository you will find codes in C and their equivalence in MIPS Assembly
Stars: ✭ 20 (+11.11%)
Mutual labels:  mips

H2_ALSH: Homocentric Hypersphere Asymmetric Locality-Sensitive Hashing

drawing

Introduction

This package provides several LSH-base schemes for k-Maximum Inner Product Search (k-MIPS). It is also an implementation of H2_ALSH from the paper as follows:

Qiang Huang, Guihong Ma, Jianlin Feng, Qiong Fang, and Anthony K. H. Tung. Accurate and Fast
Locality-Sensitive Hashing Scheme for Maximum Inner Product Search. In Proceedings of the 24th
ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining, pages 1561-1570, 2018.

Compilation

The package requires g++ with c++11 support. To download and compile the code, type:

git clone [email protected]/HuangQiang/H2_ALSH.git
cd H2_ALSH
make

Datasets

We use four real-life datasets Sift, Gist, Netflix, and Yahoo for comparison. The statistics of the datasets are summarized in the following table:

Datasets #Objects #Queries Dimensionality Data Size
Sift 1,000,000 1,000 128 512.0 MB
Netflix 17,770 1,000 300 21.3 MB
Yahoo 624,961 1,000 300 750.0 MB
Gist 1,000,000 1,000 960 3.8 GB

Run Experiments

Usage: alsh [OPTIONS]

This package supports 12 options to evaluate the performance of H2_ALSH, L2_ALSH,
L2_ALSH2, XBOX, Sign_ALSH, Simple_LSH and Linear_Scan for k-MIPS. The parameters
are introduced as follows.

  -alg    integer    options of algorithms (0 - 11)
  -n      integer    cardinality of dataset
  -d      integer    dimensionality of dataset and query set
  -qn     integer    number of queries
  -K      integer    number of hash tables for Sign_ALSH and Simple_LSH
  -m      integer    extra dimension for L2_ALSH, L2_ALSH2, and Sign_ALSH
  -U      float      a value in (0,1] for L2_ALSH, L2_ALSH2, and Sign_ALSH
  -c0     float      approximation ratio for NN Search (c0 > 1)
  -c      float      approximation ratio for MIP Search (0 < c < 1)
  -ds     string     address of data  set
  -qs     string     address of query set
  -ts     string     address of truth set
  -op     string     output path

We provide all scripts to repeat all experiments reported in SIGKDD 2018. A quick example is shown as follows (run H2_ALSH on Mnist):

./alsh -alg 1 -n 60000 -qn 1000 -d 50 -c0 2.0 -c 0.5 -ds data/Mnist/Mnist.ds -qs data/Mnist/Mnist.q -ts data/Mnist/Mnist.mip -op results/Mnist/

If you would like to get more information to run other algorithms, please check the scripts in the package. When you run the package, please ensure that the path for the dataset, query set, and truth set is correct. Since the package will automatically create folder for the output path, please keep the path as short as possible.

Related Publication

If you use this package for publications, please cite the paper as follows.

@inproceedings{huang2018accurate,
    title={Accurate and Fast Asymmetric Locality-Sensitive Hashing Scheme for Maximum Inner Product Search}
    author={Huang, Qiang and Ma, Guihong and Feng, Jianlin and Fang, Qiong and Tung, Anthony KH},
    booktitle={Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining},
    pages={1561--1570},
    year={2018},
    organization={ACM}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].