README.md

nmslibR (Non Metric Space Library in R)

The nmslibR package is a wrapper of the Non-Metric Space Library (NMSLIB) python package. More details on the functionality of the nmslibR package can be found in the blog-post and in the package Documentation.

UPDATE 26-07-2018: A Singularity image file is available in case that someone intends to run nmslibR on Ubuntu Linux (locally or in a cloud instance) with all package requirements pre-installed. This allows the user to utilize the nmslibR package without having to spend time on the installation process.

Reference:

https://github.com/nmslib/nmslib

https://github.com/nmslib/nmslib/blob/master/manual/latex/manual.pdf

System Requirements

All modules should be installed in the default python configuration (the configuration that the R-session displays as default), otherwise errors will occur during the nmslibR package installation (reticulate::py_discover_config() might be useful here).

The installation notes for Linux, Macintosh, Windows are based on Python 3.

Debian/Ubuntu

Installation of the system requirements,


sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

sudo pip3 install -U numpy

sudo pip3 install --upgrade scipy

sudo apt-get install libboost-all-dev libgsl0-dev libeigen3-dev

sudo apt-get install cmake

pip3 install --upgrade pybind11

sudo pip3 install nmslib

Fedora

Installation of the system requirements,


dnf install python3-pip

sudo pip3 install --upgrade setuptools

sudo pip3 install -U numpy

sudo pip3 install --upgrade scipy

yum install python3-devel

yum install boost-devel

yum install gsl-devel

yum install eigen3-devel

pip3 install --upgrade pybind11

sudo pip3 install nmslib

Macintosh OSX

Upgrade python to version 3 using,


brew upgrade python

Install the requirements,


sudo pip3 install --upgrade pip setuptools wheel

sudo pip3 install -U numpy

sudo pip3 install --upgrade scipy

brew install boost

brew install eigen

brew install gsl

brew install cmake

brew link --overwrite cmake

pip3 install --upgrade pybind11

sudo pip3 install nmslib

After a successful installation of the requirements the user should open an R session and give the following reticulate command to change to the relevant (brew-python) directory (otherwise the nmslibR package won't work properly),


reticulate::use_python('/usr/local/bin/python3')


and then,


reticulate::py_discover_config()


to validate that a user is in the python version where nmslibR is installed.

Windows OS

First download of get-pip.py for windows

Update the Environment variables ( Control Panel >> System and Security >> System >> Advanced system settings >> Environment variables >> System variables >> Path >> Edit ) by adding ( for instance in case of python 2.7 ),


C:\Python36;C:\Python36\Scripts


Install the Build Tools for Visual Studio

Open the Command prompt (console) and install / upgrade the system requirements,


pip3 install --upgrade pip setuptools wheel

pip3 install -U numpy

pip3 install --upgrade scipy

Installation of cmake

First download cmake for Windows, win64-x64 Installer. Once the file is downloaded run the .exe file and during installation make sure to add CMake to the system PATH for all users.

Then install the nmslib library,


pip3 install --upgrade pybind11

pip3 install nmslib

Installation of the nmslibR package

To install the package from CRAN use,


install.packages('nmslibR')


and to download the latest version from Github use the install_github function of the remotes package,


remotes::install_github(repo = 'mlampros/nmslibR')

Use the following link to report bugs/issues,

https://github.com/mlampros/nmslibR/issues



Try the nmslibR package in your browser

Any scripts or data that you put into this service are public.

nmslibR documentation built on March 13, 2020, 2 a.m.