Skip to content
/ eim Public

GPU implementation of the dimension reduction algorithm Empirical Interpolation Method (EIM) in pytorch

Notifications You must be signed in to change notification settings

samsja/eim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EIM Package ( Empirical Interpolation Method)

Note: source are in folder "eim"

This packages is the implmentation of the EIM (Empirical Interpolation Method) algorithm. This algorithm is a dimensionality reduction algorithm. It can be used to preprocess some data before creating regression or classification models or any type of machine learning algo based on data. The main advantage of eim is that we can choose a desired precision is the compresion of the data information. The idea is to project each lines in an reduced interpolation based with is compute with magic points that are choosen as the worst interpolate points and correct at each new step of the algo.

This packages is written in python and use Pytorch as a backend, the computation can be accelerated by uwing GPU (check docs to use it)

The algorithm has been first introduce in this 2007 paper :

thanks to :

Yvon Maday, Ngoc Cuong Nguyen, Anthony T. Patera, George S.H. Pau. A general, multipurposeinterpolation procedure: the magic points. 2007. l-00174797

  • To install and uses the library
git clone https://github.com/samsja/eim.git
pip install dist/eim_samsja_faycal-0.0.3-py3-none-any.whl

or without cloning the repo :

pip install git+https://github.com/samsja/eim
  • To build the packages from sources
python setup.py sdist bdist_wheel                        
  • To launch the test

install pytest first

pytest tests/test.py

About the project

This packages has been developed in the context of a research project at the University Of Technology Of Compiègne (UTC) in France.

Authors

  • Sami Jaghouar ( my repo)
  • Faycal rekbi

Contributor and Supervisor