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.
Reference:
https://github.com/nmslib/nmslib
https://github.com/nmslib/nmslib/blob/master/manual/latex/manual.pdf
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.
Installation of the system requirements,
-get install python3-pip
sudo apt
--upgrade setuptools
sudo pip3 install
-U numpy
sudo pip3 install
--upgrade scipy
sudo pip3 install
-get install libboost-all-dev libgsl0-dev libeigen3-dev
sudo apt
-get install cmake
sudo apt
--upgrade pybind11
pip3 install
sudo pip3 install nmslib
Installation of the system requirements,
-pip
dnf install python3
--upgrade setuptools
sudo pip3 install
-U numpy
sudo pip3 install
--upgrade scipy
sudo pip3 install
-devel
yum install python3
-devel
yum install boost
-devel
yum install gsl
-devel
yum install eigen3
--upgrade pybind11
pip3 install
sudo pip3 install nmslib
Upgrade python to version 3 using,
brew upgrade python
Install the requirements,
--upgrade pip setuptools wheel
sudo pip3 install
-U numpy
sudo pip3 install
--upgrade scipy
sudo pip3 install
brew install boost
brew install eigen
brew install gsl
brew install cmake
--overwrite cmake
brew link
--upgrade pybind11
pip3 install
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),
::use_python('/usr/local/bin/python3')
reticulate
and then,
::py_discover_config()
reticulate
to validate that a user is in the python version where nmslibR is installed.
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 ),
:\Python36;C:\Python36\Scripts
C
Install the Build Tools for Visual Studio
Open the Command prompt (console) and install / upgrade the system requirements,
--upgrade pip setuptools wheel
pip3 install
-U numpy
pip3 install
--upgrade scipy pip3 install
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,
--upgrade pybind11
pip3 install
pip3 install nmslib
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,
::install_github(repo = 'mlampros/nmslibR') remotes
Use the following link to report bugs/issues,
https://github.com/mlampros/nmslibR/issues
If you use the code of this repository in your paper or research please cite both nmslibR and the original articles / software https://CRAN.R-project.org/package=nmslibR/citation.html:
@Manual{,
= {{nmslibR}: Non Metric Space (Approximate) Library in R},
title = {Lampros Mouselimis},
author = {2021},
year = {R package version 1.0.7},
note = {https://CRAN.R-project.org/package=nmslibR},
url }