Skip to main content

PyGOP: A Python library for Generalized Operational Perceptron (GOP) based algorithms

Documentation Status Build Status

This package implements progressive learning algorithms using Generalized Operational Perceptron. PyGOP supports both single machine and cluster environment using CPU or GPU. This implementation includes the following algorithms:

  • Progressive Operational Perceptron (POP)
  • Heterogeneous Multilayer Generalized Operational Perceptron (HeMLGOP) and its variants
  • Fast Progressive Operational Perceptron (POPfast)
  • Progressive Operational Perceptron with Memory (POPmemO, POPmemH)

What is Generalized Operational Perceptron?

Generalized Operational Perceptron is an artificial neuron model that was proposed to replace the traditional McCulloch-Pitts neuron model. While standard perceptron model only performs a linear transformation followed by non-linear thresholding, GOP model encapsulates a diversity of both linear and non-linear operations (with traditional perceptron as a special case). Each GOP is characterized by learnable synaptic weights and an operator set comprising of 3 types of operations: nodal operation, pooling operation and activation operation. The 3 types of operations performed by a GOP loosely resemble the neuronal activities in a biological learning system of mammals in which each neuron conducts electrical signals over three distinct operations:

  • Modification of input signal from the synapse connection in the Dendrites.
  • Pooling operation of the modified input signals in the Soma.
  • Sending pulses when the pooled potential exceeds a limit in the Axon hillock.

By defining a set of nodal operators, pooling operators and activation operators, each GOP can select the suitable operators based on the problem at hand. Thus learning a GOP-based network involves finding the suitable operators as well as updating the synaptic weights. The author of GOP proposed Progressive Operational Perceptron (POP) algorithm to progressively learn GOP-based networks. Later, Heterogeneous Multilayer Generalized Operational Perceptron (HeMLGOP) algorithm and its variants (HoMLGOP, HeMLRN, HoMLRN) were proposed to learn heterogeneous architecture of GOPs with efficient operator set search procedure. In addition, fast version of POP, i.e., POPfast was proposed together with memory extensions POPmemO, POPmemH that augment POPfast by incorporating memory path.

Installation

PyPi installation

Tensorflow version 1 is required before installing PyGOP. We suggest installing tensorflow 1.14.0 To install tensorflow CPU version through pip::

pip install tensorflow==1.14.0

Or the GPU version::

pip install tensorflow-gpu==1.14.0

To install PyGOP with required dependencies::

pip install pygop

At the moment, PyGOP only supports Linux with python 2 and python 3 (tested on Python 2.7 and Python 3.5, 3.6, 3.7 with tensorflow for cpu)

Installation from source

To install latest version from github, clone the source from the project repository and install with setup.py::

git clone https://github.com/viebboy/PyGOP
cd PyGOP
python setup.py install --user

Documentation

Full documentation can be found here

Reference

If you use one of the algorithms, please cite the corresponding articles:

  • S. Kiranyaz, T. Ince, A. Iosifidis and M. Gabbouj, "Progressive Operational Perceptron", Neurocomputing, vol 224, pp. 142-154, 2017.
  • D. T. Tran, S. Kiranyaz, M. Gabbouj and A. Iosifidis, "Heterogeneous Multilayer Generalized Operational Perceptron", IEEE Transactions on Neural Networks and Learning Systems, 2018.
  • D. T. Tran, S. Kiranyaz, M. Gabbouj and A. Iosifidis, "Progressive Operational Perceptron with Memory", Neurocomputing, 2019.

Metadata

Release files for pygop 0.2.3

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

Source distribution (sdist)

Source distribution for pygop 0.2.3
File Size Uploaded Provenance Actions
pygop-0.2.3.tar.gz 37.5 kB Without provenance Details for pygop-0.2.3.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pygop 0.2.3
File Interpreter ABI Platform Actions
pygop-0.2.3-py3-none-any.whl Python 3 none any Details for pygop-0.2.3-py3-none-any.whl
pygop-0.2.3-py2-none-any.whl Python 2 none any Details for pygop-0.2.3-py2-none-any.whl

Total release size: 159.8 kB

Release files / pygop-0.2.3.tar.gz

Download URL pygop-0.2.3.tar.gz
Size 37.5 kB
Tags Source
SHA-256 checksum
How to use checksums
52b2d47c1f8eb18fcc8eb8be826e4b0a407f2ab296b595a2092dbaf5d7c63821
BLAKE2b-256 checksum
How to use checksums
8948c93755e7c1d60f8c73fa524a17d618b2460878bd918c093a29ee0ff1fd0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

Release files / pygop-0.2.3-py3-none-any.whl

Download URL pygop-0.2.3-py3-none-any.whl
Size 61.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac0d4f3125fc9888742024f52d843a80aa491731b8b33794a6ff27377850a8c9
BLAKE2b-256 checksum
How to use checksums
dbe5e5c3aace5b6bbf651a60ecb82dfef8cb850fa2f4aa9904faebac1a1739fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

Release files / pygop-0.2.3-py2-none-any.whl

Download URL pygop-0.2.3-py2-none-any.whl
Size 61.2 kB
Tags Python 2
SHA-256 checksum
How to use checksums
3a488881423fb06d1ffc31e71a6e785346e033d965037676549864ad7a58a687
BLAKE2b-256 checksum
How to use checksums
58c8bbb67a107e60b9ab6389f17cce820e34f0c3fb7617a4ae68ffa728c7287d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

Security for pygop 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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