Skip to main content

JAX/Flax implementation of softclip

Project description

softclip

Simple JAX implementation of softclip, inspired by tensorflow probability

softclip is a differentiable bijector from the real number space to some interval. This is useful when you want to optimize a parameter that is assumed to be inside the interval [low, high].

Installation

softclip can be installed with pip directly from GitHub, with the following command:

pip install git+https://github.com/yonesuke/softclip.git

QuickStart

The forward method is the function from the real number space to the interval [low, high]. The inverse method is the function from the interval [low, high] to the real number space, and is the inverse function of forward.

from softclip import SoftClip

bij = SoftClip(low=1.0, high=3.0, hinge_softness=0.5)
y = bij.forward(2.0) # y = 2.9640274
bij.inverse(y) # 1.9999975 ≒ 2.0

Simply set low=0.0 or high=0.0 to create a bijector to a positive/negative number domain.

bij_positive = SoftClip(low=0.0)
bij_negative = SoftClip(high=0.0)

By transforming softclip to distrax with to_distrax, you can create distrax bijectors:

bij_distrax = bij.to_distrax()

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

softclip-0.1.0.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

softclip-0.1.0-py3-none-any.whl (3.4 kB view hashes)

Uploaded Python 3

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