Skip to main content

calculate example-wise gradient

Project description

this repository is still under construction (2021/07/21)

ExGrads

This repository provides a hook script: calculating Example-wise Gradients efficiently.

Note

This script use the work as an important reference.
I think it is the great first step to handle per-example gradients efficiently.
I'd like to express my respect for the step.

Features of This Script

How to Use

import torch
import exgrads as ExGrads

batch,dim,label = 5,3,2
x = torch.randn(batch,dim)                                  #: inputs
y = torch.randint(low=0,high=label-1,size=(batch,))         #: outputs
model   = torch.nn.Sequential(torch.nn.Linear(dim, label))  #: PyTorch model
loss_fn = torch.nn.functional.cross_entropy                 #: loss function

ExGrads.register(model)
model.zero_grad()
loss_fn(model(x), y).backward()

# param.grad:     gradient averaged over the batch
# param.grad1[i]: gradient of i-th example
for param in model.parameters():
	assert(torch.allclose(param.grad1.sum(dim=0), param.grad))
ExGrads.deregister(model)

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

ExGrads-0.1.9.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

ExGrads-0.1.9-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file ExGrads-0.1.9.tar.gz.

File metadata

  • Download URL: ExGrads-0.1.9.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for ExGrads-0.1.9.tar.gz
Algorithm Hash digest
SHA256 3a4eec3edda62f77388982f8ddf8f56f50bb9e0b71c9aefbb2366a93d172c23b
MD5 8859ee2299c8922fd8d8465d81ae3440
BLAKE2b-256 34a4cb46926301682a5024db04764ad1cb69746e920a1202375b4b6672a5ddd6

See more details on using hashes here.

File details

Details for the file ExGrads-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: ExGrads-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for ExGrads-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6de405173f4a95a4ae1a37f9c6c517a61a521d47e1b6b662c2e7ab54f99bd8e0
MD5 59bbfd5a60130bba68ccb92cd6cf5fae
BLAKE2b-256 ee573d43af1230b8c5aaa94516910e8dd30e60a62e65423ebac88a9627de1ee6

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