All Projects → kb1dds → Pysheaf

kb1dds / Pysheaf

Python Cellular Sheaf Library

Projects that are alternatives of or similar to Pysheaf

Class2019fall
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
End To End Sequence Labeling Via Bi Directional Lstm Cnns Crf Tutorial
Tutorial for End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF
Stars: ✭ 87 (-2.25%)
Mutual labels:  jupyter-notebook
Data science fundamentals
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Earth atlas of space
Code and instructions for making an animated map of Earth
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Spotify Recsys Challenge
A complete set of Recommender Systems techniques used in the Spotify Recsys Challenge 2018 developed by a team of MSc students in Politecnico di Milano.
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Speech Emotion Recognition
Detecting emotions using MFCC features of human speech using Deep Learning
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Caps
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Psketch
Modular multitask reinforcement learning with policy sketches
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Xpedite
A non-sampling profiler purpose built to measure and optimize performance of ultra low latency/real time systems
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Crl
Implementation of the paper "Cascade Residual Learning: A Two-stage Convolutional Neural Network for Stereo Matching"
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Text Detection Using Yolo Algorithm In Keras Tensorflow
Implemented the YOLO algorithm for scene text detection in keras-tensorflow (No object detection API used) The code can be tweaked to train for a different object detection task using YOLO.
Stars: ✭ 87 (-2.25%)
Mutual labels:  jupyter-notebook
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Textclustering
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Cc6205
Natural Language Processing
Stars: ✭ 88 (-1.12%)
Mutual labels:  jupyter-notebook
Deeper Traffic Lights
[repo not maintained] Check out https://diffgram.com if you want to build a visual intelligence
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Kaggle Cloud
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Programming Concepts For Data Science
Basics of programming: algorithms, data structures, object oriented programming
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Checklist
Beyond Accuracy: Behavioral Testing of NLP models with CheckList
Stars: ✭ 1,290 (+1349.44%)
Mutual labels:  jupyter-notebook
Blog Resources
This repo will contain the resources available in my blog for learning
Stars: ✭ 89 (+0%)
Mutual labels:  jupyter-notebook
Credit Risk Modelling
Credit Risk analysis by using Python and ML
Stars: ✭ 91 (+2.25%)
Mutual labels:  jupyter-notebook

PySheaf: Sheaf-theoretic toolbox

This repository consists of Python 3.6 libraries for manipulating cell complexes and sheaves of sets or vector spaces on cell complexes [1], [2], [3], [4], [5], [6]

Documentation:

Full (very out-of-date) documentation for PySheaf verson v0.xx is at <http://kb1dds.github.io/pysheaf/>_

Right now, the best strategy is to look at the example code!

Download:

You can install by cloning this repo (there is no PyPI package). For Linux, you can do::

$ git clone https://github.com/kb1dds/pysheaf.git $ pip install pysheaf

See the documentation <http://kb1dds.github.io/pysheaf/install.html>_ for full details! (Though it's a bit out of date...)

Usage:

The general plan of usage is

  1. First (usually on paper!) lay out the cell complex that will serve as the base for your sheaf. Give each cell a unique label.

  2. Determine all of the stalks over each cell, and the restriction maps. Restriction maps can be a mixture of numpy matrices or arbitrary single-input Python function objects.

  3. Construct a Sheaf instance and add each of your cells as Cell instances with the Sheaf.AddCell method. Make sure to use your unique label for each Cell, because that is how PySheaf identifies them! Once you've done that, create each restriction as a Coface instance and add it to the sheaf using the Sheaf.AddCoface method. The Sheaf.AddCoface method will connect the listed Cells based on their labels. Cells and Cofaces can be added later if you want, and they can be added in any order provided any Coface refers to Cells that already exist.

  4. Install some data into the sheaf by way of an Assignment to some of the Cells.

  5. Analyze the sheaf and its data: a. You can compute consistency radius with Sheaf.ComputeConsistencyRadius() b. You can improve the consistency radius by extending or altering the values of the assignment with Sheaf.FuseAssignment(). This will only alter Cells whose Cell.mOptimizationCell attribute is True. You can also change the optimization algorithm if you want. c. You can find all star open sets whose local consistency is less than a desired bound using Sheaf.CellIndexesLessThanConsistencyThreshold().

Have a look at the example code for some ideas!

This code is under active development, so not everything works as it should. If you find anything that you can correct, feel free to send me suggestions!

| Thanks! | Michael Robinson | American University | [email protected] | [email protected]

.. [1] http://www.drmichaelrobinson.net/sheaftutorial/index.html

.. [2] https://www.youtube.com/user/drmichaelrobinson

.. [3] Cliff Joslyn, Emilie Hogan, Michael Robinson, "Towards a topological framework for integrating semantic information sources," Semantic Technologies for Intelligence, Defense, and Security (STIDS), 2014. http://ceur-ws.org/Vol-1304/STIDS2014_P2_JoslynEtAl.pdf

.. [4] Michael Robinson, "Sheaves are the canonical datastructure for information integration," Information Fusion, 36 (2017), pp. 208-224. (preprint version is http://arxiv.org/abs/1603.01446)

.. [5] Michael Robinson, "Sheaf and cosheaf methods for analyzing multi-model systems," http://arXiv.org/abs/1604.04647

.. [6] Michael Robinson, Topological Signal Processing, Springer, 2014.

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].