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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ExGrads-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 9a6e5a76fc906b0b8c78c265a3ebef19fb24e481b9816efec7a7050fab9f66a7
MD5 55b9bbfd308f8fba297d3fa345471d11
BLAKE2b-256 6c427e0c5f2ce42059e73bfb74ed416d5fe01e4e7e86140a6c84ff695a6dd3ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ExGrads-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9d35197685905369e4068a81eb929b4889dadce0fe2f1e86a3424f0fcb309f3c
MD5 6601b4abd021efafb1dc39d91011c1d7
BLAKE2b-256 fe2181e541f4d747b3bcfd48901d74c6951cad476e5c7a82f1268623c7f5c03f

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