ProxTorch is a PyTorch library for proximal operators.
Project description
🔍 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d26b45f35d14367d7b41394ce1b4567441bd00c026c2532aa74696156dd2c2a6 |
|
MD5 | 0b1a5ae9be975898e2349ee543988ea6 |
|
BLAKE2b-256 | a069a7dc9898a1e41525032820cb7f9cd3ffac122e3fba86b05016f083cea8af |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc36b23add389ae38658223db52894e4969239356324b335a7df5a7aaf0086eb |
|
MD5 | 08b17802936a77da9eb01c88854fdf36 |
|
BLAKE2b-256 | 8763ae716e3918f44a017dcc7b3231d473615fc84d3aa3fd10450047f951c9ad |