Skip to main content

SGLD in PyTorch

PyPI version

This package implements SGLD and cSGLD as a PyTorch Optimizer.

Installation

Install from pip as:

pip install torch-sgld

To install the latest directly from source, run

pip install git+https://github.com/activatedgeek/torch-sgld.git

Usage

The general idea is to modify the usual gradient-based update loops in PyTorch with the SGLD optimizer.

from torch_sgld import SGLD

f = module()  ## construct PyTorch nn.Module.

sgld = SGLD(f.parameters(), lr=lr, momentum=.9)  ## Add momentum to make it SG-HMC.
sgld_scheduler = ## Optionally add a step-size scheduler.

for _ in range(num_steps):
    energy = f()
    energy.backward()

    sgld.step()

    sgld_scheduler.step()  ## Optional scheduler step.

cSGLD can be implemented by using a cyclical learning rate schedule. See the toy_csgld.ipynb notebook for a complete example.

License

Apache 2.0

Metadata

Release files for torch-sgld 0.1.0

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

Source distribution (sdist)

Source distribution for torch-sgld 0.1.0
File Size Uploaded
torch-sgld-0.1.0.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for torch-sgld 0.1.0
File Interpreter ABI Platform
torch_sgld-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / torch-sgld-0.1.0.tar.gz

Download URL torch-sgld-0.1.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3bea70771e8215f64313c3ec7fbd88cd16e6f7a41cddd246eaffffaf856a02ce
BLAKE2b-256 checksum
How to use checksums
a9f4d2029ce2535111854d305749f0392ee650beef2401a0aaf817591e5bc21f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / torch_sgld-0.1.0-py3-none-any.whl

Download URL torch_sgld-0.1.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
566882f7995e08907911dc90965fd7b90062312941099ff1eed1a1d47a7a6396
BLAKE2b-256 checksum
How to use checksums
27180b0d1191defc8a54ec4dddc56c36f87e8baa35b0f716a09e48235eef6e66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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