Skip to main content

Invariance, Same-Equivariance and other measures for Neural Networks. Support for PyTorch (now) and TensorFlow (coming).

Project description

✴ Transformational Measures 📏

The Transformational Measures (tmeasures) library allows neural network designers to evaluate the invariance, equivariance and other properties of their models with respect to a set of transformations. Support for Pytorch (current) and Tensorflow/Keras (coming).

🔎 Visualizations

tmeasures allows computing invariance, same-equivariance and other transformational measures, and contains helpful functions to visualize these. The following are some examples of the results you can obtain with the library:

🔥 Invariance heatmap

Each column shows the invariance to rotation of a layer of a Neural Network. Each row/block inside each column indicates the invariance of a feature map or single neuron, depending on the layer.

📉 Average Invariance vs layer, same model

Plot the transformational and sample invariance to rotations of a simple neural network trained on MNIST, with and without data augmentation. The X axis indicates the layer, while the Y axis shows the average invariance of the layer.

📈 Average invariance by layer, different models:

Plot of the invariance to rotations of several well-known models trained on CIFAR10. The number of layers of each model is streched on a percentage scale, so that different models can be compared.

💻 PyTorch API

These notebooks contain step-by-step code and explanations to measure invariance in both custom and pretrained model, both using predefined and custom transformations. They can be executed in google colab directly. Alternatively, you can download them for local execution, but be aware you will have to provide your own virtualenv with torch and torchvision installed.

Other examples with multiple measures and pretrained models can be found in the doc folder of this repository.

💻 TensorFlow API

We are still developing the Tensorflow API.

📋 Examples

You can find many uses of this library in the repository with the code for the article Measuring (in)variances in Convolutional Networks, where this library was first presented. Also, in the code for the experiments of the PhD Thesis "Invariance and Same-Equivariance Measures for Convolutional Neural Networks" (spanish).

🤙🏽 Citing

If you use this library in your research, we kindly ask you to cite Invariance and Same-Equivariance Measures for Convolutional Neural Networks.

@article{quiroga20,
  author    = {Facundo Quiroga and
               Laura Lanzarini},
  title     = {Invariance and Same-Equivariance Measures for Convolutional Neural Networks},
  journal   = {J. Comput. Sci. Technol.},
  volume    = {20},
  number    = {1},
  pages     = {06},
  year      = {2020},
  url       = {https://doi.org/10.24215/16666038.20.e06},
  doi       = {10.24215/16666038.20.e06},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tmeasures-1.2.11.tar.gz (58.2 kB view details)

Uploaded Source

Built Distribution

tmeasures-1.2.11-py2.py3-none-any.whl (76.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file tmeasures-1.2.11.tar.gz.

File metadata

  • Download URL: tmeasures-1.2.11.tar.gz
  • Upload date:
  • Size: 58.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for tmeasures-1.2.11.tar.gz
Algorithm Hash digest
SHA256 8fe024f6703270b138b33f70dfefa125df44dac89355c8434fb1b0723402319a
MD5 c63c7af23d94f9bb96be2fc985703003
BLAKE2b-256 140176908598154a808f2d42d0befbdcdc3eb9645df048fdc0036fddfd3c1ade

See more details on using hashes here.

File details

Details for the file tmeasures-1.2.11-py2.py3-none-any.whl.

File metadata

  • Download URL: tmeasures-1.2.11-py2.py3-none-any.whl
  • Upload date:
  • Size: 76.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for tmeasures-1.2.11-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 85a814a50c2ddbafd5835b7bdc16c1fe6ecc77b12084a903b702ffc7272dc73a
MD5 f6cfceff6773545025b2eb3a3085001c
BLAKE2b-256 2aac5effc54d621beb00ee65a7f9a3a8065133ec7d9864a9bfbaf9acaf47582a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page