Skip to main content

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.

Metadata

Release files for IndexedConv 1.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for IndexedConv 1.3.2
File Size Uploaded
IndexedConv-1.3.2.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for IndexedConv 1.3.2
File Interpreter ABI Platform
IndexedConv-1.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 30.7 kB

Release files / IndexedConv-1.3.2.tar.gz

Download URL IndexedConv-1.3.2.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3fa821088b9c7d2726bf4456e8d68779b9c0b4ed5cb3fda0ba5c023beb5d4f73
BLAKE2b-256 checksum
How to use checksums
59d11a6a46ea4ae85272f0ce36959e421ea805629c7cd4b1496008942df6ec83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / IndexedConv-1.3.2-py3-none-any.whl

Download URL IndexedConv-1.3.2-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3357728acdc25126095549b0c9187019b6ae49d9dd9792d04007c09c1189130d
BLAKE2b-256 checksum
How to use checksums
ee133f0206cb9531feb39af6bd23898371934584bdf26387a934cec8a491cd75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 release files

1.3.1

2 release files

1.3

1 release file

1.2

2 release files

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page