An implementation of indexed convolution and pooling
Project description
Indexed Convolution
The indexed operations allow the user to perform convolution and pooling on non-Euclidian grids of data given that the neighbors pixels of each pixel is known and provided.
It gives an alternative to masking or resampling the data in order to apply standard Euclidian convolution. This solution has been developed in order to apply convolutional neural networks to data from physics experiments that propose specific pixels arrangements.
It is used in the GammaLearn project <https://lapp-gitlab.in2p3.fr/GammaLearn/>
_ for the Cherenkov Telescope Array.
Here you will find the code for the indexed operations as well as applied examples. The current implementation has been done for pytorch.
Documentation may be found online. <https://indexed-convolution.readthedocs.io/en/latest/>
_
.. image:: https://github.com/IndexedConv/IndexedConv/actions/workflows/tests.yml/badge.svg :target: https://github.com/IndexedConv/IndexedConv/actions .. image:: https://readthedocs.org/projects/indexed-convolution/badge/?version=latest :target: https://indexed-convolution.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status .. image:: https://anaconda.org/gammalearn/indexedconv/badges/installer/conda.svg :target: https://anaconda.org/gammalearn/indexedconv
Install
Install from IndexedConv folder:
.. code-block:: bash
git clone https://github.com/IndexedConv/IndexedConv.git
cd IndexedConv
pip install .
Install with pip:
.. code-block:: bash
pip install indexedconv
Install with conda:
conda install -c gammalearn indexedconv
Requirements
.. code-block:: bash
"torch>=1.4",
"torchvision",
"numpy",
"matplotlib",
"h5py"
Running an experiment
For example, to train the network with indexed convolution on the CIFAR10 dataset transformed to hexagonal:
.. code-block:: bash
python examples/cifar_indexed.py main_folder data_folder experiment_name --hexa --batch 125 --epochs 300 --seeds 1 2 3 4 --device cpu
In order to train on the AID dataset, it must be downloaded and can be found here <https://captain-whu.github.io/AID/>
_.
Authors
The development of the indexed convolution is born from a collaboration between physicists and computer scientists.
- Luca Antiga, Orobix
- Mikael Jacquemont, LAPP (CNRS), LISTIC (USMB)
- Thomas Vuillaume, LAPP (CNRS)
References
Please cite:
Publication
https://www.scitepress.org/Link.aspx?doi=10.5220/0007364303620371
Jacquemont, M.; Antiga, L.; Vuillaume, T.; Silvestri, G.; Benoit, A.; Lambert, P. and Maurin, G. (2019). Indexed Operations for Non-rectangular Lattices Applied to Convolutional Neural Networks. In Proceedings of the 14th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 5: VISAPP, ISBN 978-989-758-354-4, pages 362-371. DOI: 10.5220/0007364303620371
.. code-block::
@conference{visapp19,
author={Mikael Jacquemont. and Luca Antiga. and Thomas Vuillaume. and Giorgia Silvestri. and Alexandre Benoit. and Patrick Lambert. and Gilles Maurin.},
title={Indexed Operations for Non-rectangular Lattices Applied to Convolutional Neural Networks},
booktitle={Proceedings of the 14th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 5: VISAPP,},
year={2019},
pages={362-371},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0007364303620371},
isbn={978-989-758-354-4},
}
If you want to use and refer to the code implementation of IndexedConv, please cite:
.. image:: https://zenodo.org/badge/150430897.svg :target: https://zenodo.org/badge/latestdoi/150430897
Contributing
All contributions are welcome.
Start by contacting the authors, either directly by email or by creating a GitHub issue.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file IndexedConv-1.3.2.tar.gz
.
File metadata
- Download URL: IndexedConv-1.3.2.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fa821088b9c7d2726bf4456e8d68779b9c0b4ed5cb3fda0ba5c023beb5d4f73 |
|
MD5 | 1d21d36a2ab4c8220c82b1ccf38a3597 |
|
BLAKE2b-256 | 59d11a6a46ea4ae85272f0ce36959e421ea805629c7cd4b1496008942df6ec83 |
File details
Details for the file IndexedConv-1.3.2-py3-none-any.whl
.
File metadata
- Download URL: IndexedConv-1.3.2-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3357728acdc25126095549b0c9187019b6ae49d9dd9792d04007c09c1189130d |
|
MD5 | 2766f184284099799e3d9adac6df286c |
|
BLAKE2b-256 | ee133f0206cb9531feb39af6bd23898371934584bdf26387a934cec8a491cd75 |