Skip to main content

ProxTorch is a PyTorch library for proximal operators.

Project description

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.

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

proxtorch-0.0.9.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

proxtorch-0.0.9-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file proxtorch-0.0.9.tar.gz.

File metadata

  • Download URL: proxtorch-0.0.9.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.8.17 Linux/5.15.0-1041-azure

File hashes

Hashes for proxtorch-0.0.9.tar.gz
Algorithm Hash digest
SHA256 d26b45f35d14367d7b41394ce1b4567441bd00c026c2532aa74696156dd2c2a6
MD5 0b1a5ae9be975898e2349ee543988ea6
BLAKE2b-256 a069a7dc9898a1e41525032820cb7f9cd3ffac122e3fba86b05016f083cea8af

See more details on using hashes here.

File details

Details for the file proxtorch-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: proxtorch-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.8.17 Linux/5.15.0-1041-azure

File hashes

Hashes for proxtorch-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 bc36b23add389ae38658223db52894e4969239356324b335a7df5a7aaf0086eb
MD5 08b17802936a77da9eb01c88854fdf36
BLAKE2b-256 8763ae716e3918f44a017dcc7b3231d473615fc84d3aa3fd10450047f951c9ad

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