Skip to content

Commit

Permalink
Merge branch 'main' of github.com:PinguDevTeam/ICF-MI-framework into …
Browse files Browse the repository at this point in the history
…main
  • Loading branch information
sahilbhola14 committed Nov 30, 2022
2 parents fbb7d23 + 339ce03 commit f35355a
Show file tree
Hide file tree
Showing 16 changed files with 156 additions and 3 deletions.
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ repos:
- id: check-merge-conflict

- repo: https://github.com/ambv/black
rev: 22.3.0
rev: 22.10.0
hooks:
- id: black
language: python
Expand All @@ -25,7 +25,7 @@ repos:
rev: 5.0.4
hooks:
- id: flake8
args: ["--max-line-length=88"]
args: ["--max-line-length=88", "--extend-ignore=E203", "--doctests"]

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v14.0.6
Expand Down
Empty file removed GIM/README.md
Empty file.
Empty file removed LSTM/README.md
Empty file.
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
1 change: 1 addition & 0 deletions docs/_build/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This is the build folder
37 changes: 37 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

import os
import sys

sys.path.insert(0, os.path.abspath("../"))
sys.path.insert(0, os.path.abspath("../GIM/"))

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html\
# project-information

project = "ICF-MI"
copyright = "2022, Sahil Bhola"
author = "Sahil Bhola, Doruk Aksoy, Carleen McKenna, Codie Kawaguchi"
release = "0.0.1"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-
# configuration

extensions = ["sphinx.ext.autodoc", "sphinx.ext.napoleon", "sphinx.ext.viewcode"]

templates_path = ["_templates"]
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]


# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-
# html-output

# html_theme = 'alabaster'
html_theme = "sphinx_rtd_theme"
html_static_path = ["_static"]
28 changes: 28 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.. ICF-MI documentation master file, created by
sphinx-quickstart on Tue Nov 22 16:11:51 2022.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to ICF-MI's documentation!
==================================

.. toctree::
:maxdepth: 2
:caption: Introduction:

introduction

.. toctree::
:maxdepth: 2
:caption: Contents:

modules



Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
32 changes: 32 additions & 0 deletions docs/introduction.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Introduction
^^^^^^^^^^^^^
**ICF-MI** combines two statistical algorithms, **TT-ICE** which is an incremental tensor-train decomposition alogorithm suitable for data streams and **GIM** which is a model identification alogorithm.
The Algorithm has the following salient features:

* **TT-ICE** is a novel incremental tensor-train (TT) decomposition algorithm which is developed to decompose high dimensional data streams into tensor-train format.
**TT-ICE** uses orthogonal projections and sequential application of SVD to compute the missing orthogonal directions in the TT-cores.
For a stream of d-dimensional tensors, **TT-ICE** accumulates the stream along an additional (d+1)-th dimension and trains d 3 dimensional TT-cores that span the first d dimensions of the stream.
The (d+1)-th TT-core resulting from the decomposition process contains coefficient vectors unique to each datum.
Within the scope of our pipeline, we will treat **TT-ICE** as a multilinear dimensionality reduction tool and use the coefficient vectors contained in the last TT-core to train the surrogate model.

* **GIM** is an information-theoretic model identification algorithm which can be used to identify the model which best fits the data.

* **ICF-MI** is a combination of **TT-ICE** and **GIM** and can therefore be used to identify the model parameter in a cost efficient manner.

.. HEADING:
.. ===============
.. * If necessart mention some points here.
REFERENCES:
===============
* `Google <https://www.google.com>`_ , search engine has been used throughout the project.
* Aksoy et al., An Incremental Tensor-Train Decomposition Algorithm, 'arXiv preprint <https://arxiv.org/abs/2211.12487>'_
* Other kind of text ``Bold reference``.
* Bold **letters**.

Developers:
========
| Sahil Bhola (University of Michgan, Ann Arbor)
| Doruk Aksoy (University of Michgan, Ann Arbor)
| Carleen McKenna (University of Michgan, Ann Arbor)
| Codie Kawaguchi (University of Michgan, Ann Arbor)
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)

if "%1" == "" goto help

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
2 changes: 1 addition & 1 deletion scripts/create_documentation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ cd docs
echo $PWD

rm `find . -name "*rst" ! -name "index.rst" ! -name "introduction.rst"`
sphinx-apidoc -o . ../
sphinx-apidoc -o . ../src
make html
make latexpdf
firefox ./_build/html/index.html
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit f35355a

Please # to comment.