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.10.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

ExGrads-0.1.10-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ExGrads-0.1.10.tar.gz
  • Upload date:
  • Size: 4.5 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.10.tar.gz
Algorithm Hash digest
SHA256 1b5b05839235aff282e463dd7feabc2ec9988d7b2871f8b0ab31dc1ac0233f69
MD5 28688d1f26449b88234c75f4cadcfa9e
BLAKE2b-256 6067a42b8e95580ca118501060711b83fdd9274a290a6329d05455d9eba16dda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ExGrads-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 5.9 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 5b20665c95564f735ebe95b362d9b7737ce72a831a1523f165113c1757995dc7
MD5 1ef1acc36bbb310962f07a3e222db191
BLAKE2b-256 809a641a0daae4466c363eddb395f57062d5849b38871ecc44e4d4663da03d8e

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