Memory Wrap: an extension for image classification models
Project description
Description
Memory Wrap is an extension to image classification models that improves both data-efficiency and model interpretability, adopting a sparse content-attention mechanism between the input and some memories of past training samples.
Installation
To install Memory Wrap run the following command:
pip install memorywrap
The library contains two main classes:
- MemoryWrapLayer: it is the Memory Wrap variant described in the paper that uses both the input encoding and the memory encoding to compute the output;
- BaselineMemory: it is the baseline that uses only the memory encoding to compute the output.
Usage
Instantiate the layer
memorywrap = MemoryWrapLayer(encoder_dim,output_dim,return_weights=False)
or
memorywrap = BaselineMemory(encoder_dim,output_dim)
where:
- encoder_dim is the output dimension of the last layer of the encoder
- output_dim is the desired output dimensione. In the case of the paper output_dim is equal to the number of classes;
- return_weights is a flag telling to the layer if it has to return the sparse content weights.
Forward call
Add the forward call to your forward function.
output_memorywrap = memorywrap(input_encoding,memory_encoding)
where input_encoding and memory_encoding are the outputs of the the encoder of rispectively the current input and the memory set.
If you have set the flag return_weights to True, then output_memorywrap is a Tuple where the first element is the output and the second one are the content weights associated to each element in the memory_encoding.
Additional information
Here you can find link to additional source of information about Memory Wrap:
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
Hashes for memorywrap-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7642addcb51d4a5e732a5ee8e825b699ec3d6fc15747e2062e8b73320a44fd8c |
|
MD5 | 15014b843d8d2ef311ee50d24a603c10 |
|
BLAKE2b-256 | 664cd98be17b291b42555855f1b68006e61ad82adaa1a63bdde9b53348f36cda |