Skip to main content

MetaNN provides extensions of PyTorch nn.Module for meta learning

Project description

Documentation Status

1. Introduction

In meta learner scenario, it is common use dependent variables as parameters, and back propagate the gradient of the parameters. However, parameters of PyTorch Module are designed to be leaf nodes and it is forbidden for parameters to have grad_fn. Meta learning coders are therefore forced to rewrite the basic layers to adapt the meta learning requirements.

This module provide an extension of torch.nn.Module, DependentModule that has dependent parameters, allowing the differentiable dependent parameters. It also provide the method to transform nn.Module into DependentModule, and turning all of the parameters of a nn.Module into dependent parameters.

2. Installation

pip install MetaNN

3. Example

PyTorch suggest all parameters of a module to be independent variables. Using DependentModule arbitrary torch.nn.module can be transformed into dependent module.

from metann import DependentModule
from torch import nn
net = torch.nn.Sequential(
    nn.Linear(10, 100),
    nn.Linear(100, 5))
net = DependentModule(net)
print(net)

Higher-level api such as MAML class are more recommended to use.

from metann.meta import MAML, default_evaluator_classification as evaluator
from torch import nn
net = torch.nn.Sequential(
    nn.Linear(10, 100),
    nn.Linear(100, 5))
)
maml = MAML(net, steps_train=5, steps_eval=10, lr=0.01)
output = maml(data_train)
loss = evaluator(output, data_test)
loss.backward()

4. Documents

The documents are available at ReadTheDocs. MetaNN

5. License

MIT

Copyright (c) 2019-present, Hanqiao Yu

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

MetaNN-0.3.2.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

MetaNN-0.3.2-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file MetaNN-0.3.2.tar.gz.

File metadata

  • Download URL: MetaNN-0.3.2.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for MetaNN-0.3.2.tar.gz
Algorithm Hash digest
SHA256 2123e383deedf10ca8ccae3b8c517c7cf6f18309bf77e867dc5cbe6aa2f52713
MD5 23e538ca7accb622ecdf7c45bbdc156b
BLAKE2b-256 6c03f8b81237ad7930ed19b3b7e4cdc5aa5ef4c60cc1936cdb102558d993bcb5

See more details on using hashes here.

File details

Details for the file MetaNN-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: MetaNN-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for MetaNN-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 32ba23844d6782ec7ac825614e5700114da17ae81eb652f251ce31fe7b69672b
MD5 b52a7b4ff2254578a8feebbfb27f5d62
BLAKE2b-256 2888169e64638a7d226176a44a30cb498dded12731ef64058def4f6dc29d1536

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