π 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.