Skip to main content
ProxTorch Logo

ProxTorch

Unleashing Proximal Gradient Descent on PyTorch 🚀

DOI codecov version downloads

🔍 What is ProxTorch?
Dive into a rich realm of proximal operators and constraints with ProxTorch, a state-of-the-art Python library crafted on PyTorch. Whether it's optimization challenges or the complexities of machine learning, ProxTorch is designed for speed, efficiency, and seamless GPU integration.

✨ Features

  • 🚀 GPU-Boosted: Experience lightning-fast computations with extensive CUDA support.
  • 🔥 PyTorch Synergy: Naturally integrates with all your PyTorch endeavours.
  • 📚 Expansive Library: From elemental norms (L0, L1, L2, L∞) to advanced regularizations like Total Variation and Fused Lasso.
  • 🤝 User-Friendly: Jump right in! Intuitive design means minimal disruptions to your existing projects.

🛠 Installation

Getting started with ProxTorch is a breeze. Install from PyPI with:

pip install proxtorch

Or install from source with:

git clone
cd ProxTorch
pip install -e .

🚀 Quick Start

Dive in with this straightforward example:

import torch
from proxtorch.operators import L1

# Define a sample tensor
x = torch.tensor([0.5, -1.2, 0.3, -0.4, 0.7])

# Initialize the L1 proximal operator
l1_prox = L1(sigma=0.1)

# Compute the regularization component value
reg_value = l1_prox(x)
print("Regularization Value:", reg_value)

# Apply the proximal operator
result = l1_prox.prox(x)
print("Prox Result:", result)

📜 Diverse Proximal Operators

Regularizers

  • L1, L2 (Ridge), ElasticNet, GroupLasso, TV (includes TV_2D, TV_3D, TVL1_2D, TVL1_3D), **Frobenius **
  • Norms: TraceNorm, NuclearNorm
  • FusedLasso, Huber

Constraints

  • L0Ball, L1Ball, L2Ball, L∞Ball (Infinity Norm), Frobenius, TraceNorm, Box

📖 Documentation

Explore the comprehensive documentation on Read the Docs.

🙌 Credits

ProxTorch stands on the shoulders of giants:

We're thrilled to introduce ProxTorch as an exciting addition to the PyTorch ecosystem. We're confident you'll love it!

🤝 Contribute to the ProxTorch Revolution

Got ideas? Join our vibrant community and make ProxTorch even better!

📜 License

ProxTorch is proudly released under the MIT License.

Metadata

Release files for ProxTorch 0.0.9

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

Source distribution (sdist)

Source distribution for ProxTorch 0.0.9
File Size Uploaded Provenance Actions
proxtorch-0.0.9.tar.gz 12.5 kB Without provenance Details for proxtorch-0.0.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ProxTorch 0.0.9
File Interpreter ABI Platform Actions
proxtorch-0.0.9-py3-none-any.whl Python 3 none any Details for proxtorch-0.0.9-py3-none-any.whl

Total release size: 34.3 kB

Release files / proxtorch-0.0.9.tar.gz

Download URL proxtorch-0.0.9.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d26b45f35d14367d7b41394ce1b4567441bd00c026c2532aa74696156dd2c2a6
BLAKE2b-256 checksum
How to use checksums
a069a7dc9898a1e41525032820cb7f9cd3ffac122e3fba86b05016f083cea8af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.8.17 Linux/5.15.0-1041-azure

Release files / proxtorch-0.0.9-py3-none-any.whl

Download URL proxtorch-0.0.9-py3-none-any.whl
Size 21.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc36b23add389ae38658223db52894e4969239356324b335a7df5a7aaf0086eb
BLAKE2b-256 checksum
How to use checksums
8763ae716e3918f44a017dcc7b3231d473615fc84d3aa3fd10450047f951c9ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.8.17 Linux/5.15.0-1041-azure

Security for ProxTorch 0.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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