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

Uploaded Source

Built Distribution

ExGrads-0.1.5-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ExGrads-0.1.5.tar.gz
  • Upload date:
  • Size: 4.3 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.5.tar.gz
Algorithm Hash digest
SHA256 e813c44fa921046f803a3ece4e503acecc9e2d6f97bd4f967aca916699ab93a0
MD5 cd292a6235dbf2ccbc6a04a27a16a92c
BLAKE2b-256 a1d423e447b7c98d58a5e238cc6fb25b2f89f7e3e2e738518159464f5fda6cfb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ExGrads-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 5.7 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2e1010ba0c934dc5df0959460fe9cc23df6e79929dca0e43c9978f9223003ae0
MD5 a36095db07337167e403b2ab350ac212
BLAKE2b-256 ae9b3a1d0e4f7bc12757ec3a04b8e0d501bf836a70adaa45c60e5a116036cde6

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