Skip to main content

Toolkit Research Documentation

Coverage Release Release License Platform Python Pytorch

Inter-Architecture Knowledge Transfer

iatransfer is a PyTorch package for transferring pretrained weights between models of different architectures instantaneously.

Drastically speed up your training process using two additional lines of code.

Installation

pip install iatransfer

Usage

  • simple
import torch
from iatransfer.toolkit import IAT

transfer = IAT()

# run training on Model1()
model_from: nn.Module = Model1()

train(model_from)

# instantiate new model
model_to: nn.Module = Model2() 

# enjoy high-accuracy initialization
transfer(model_from, model_to)
  • parametrization
from iatransfer.toolkit import IAT


iat = IAT(standardization='blocks', matching='dp', score='autoencoder', transfer='trace')

# ==== or

iat = IAT(matching=('dp', {'param': 'value'}))

# ==== or

from iatransfer.toolkit.matching.dp_matching import DPMatching

iat = IAT(matching=DPMatching())
  • plugins
from iatransfer.toolkit.base_matching import Matching


class CustomMatching(Matching):

    def match(self, from_module, to_module, *args, **kwargs)
        # provide your implementation


# This will instantiate the above CustomMatching in IAT
iat = IAT(matching='custom') 

Citation

When referring to or using iatransfer in a scientific publication, please consider including citation to the following thesis:

@manual{
 iat2021,
 title = {Inter-Architecture Knowledge Transfer},
 author = {Maciej A. Czyzewski and Daniel Nowak and Kamil Piechowiak},
 note = {Transfer learning between different architectures},
 organization = {Poznan University of Technology},
 type = {Bachelor’s Thesis},
 address = {Poznan, Poland},
 year = {2021}
}

Development

Init:

./dev/init.sh

Run tests:

nosetests tests

Install in edit mode:

pip install -e .

Research reproduction:

Copy the source code to the GCP cloudshell or install iatransfer_research package.

Run:

/bin/bash ./scripts/research/iatransfer_full_run.sh

or

iatransfer_full_run.sh

if iatransfer_research has been installed.

Metadata

Release files for iatransfer 1.0.3

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

Built distribution (wheel)

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

Release files / iatransfer-1.0.3-py3-none-any.whl

Download URL iatransfer-1.0.3-py3-none-any.whl
Size 42.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cef9609a15f5dca1bbd42ac85818eeef8b23801464ae53dcc94743ed8a090566
BLAKE2b-256 checksum
How to use checksums
5c7753588ee18adfbe592efe75e57bc52fbda990038a65be6a4d79f75c30ea87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

Release history Release notifications | RSS feed

This release

1.0.3 This release

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.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