Tensor utilities, reinforcement learning, and more! Designed to make research easier with low-level abstractions for common operations.
For the top-level utilities, import like so:
import pyoneer as pynr
pynr.math.rescale(...)
For the larger sub-modules, such as reinforcement learning, we recommend:
import pyoneer.rl as pyrl
loss_fn = pyrl.losses.PolicyGradient(...)
In general, the Pyoneer API tries to adhere to the TensorFlow 2.0 API.
Activations (pynr.activations
)
pynr.activations.swish
Debugging (pynr.debugging
)
pynr.debugging.Stopwatch
Distributions (pynr.distributions
)
pynr.distributions.MultiCategorical
Initializers (pynr.initializers
)
pynr.initializers.SoftplusInverse
Layers (pynr.layers
)
pynr.layers.Swish
pynr.layers.OneHotEncoder
pynr.layers.AngleEncoder
pynr.layers.Nest
pynr.layers.ConcreteDropout
Tensor Manipulation (pynr.manip
)
pynr.manip.flatten
pynr.manip.batched_index
pynr.manip.pad_or_truncate
pynr.manip.shift
Math (pynr.math
)
pynr.math.to_radians
pynr.math.to_degrees
pynr.math.to_cartesian
pynr.math.to_polar
pynr.math.RADIANS_TO_DEGREES
pynr.math.DEGREES_TO_RADIANS
pynr.math.isclose
pynr.math.safe_divide
pynr.math.rescale
pynr.math.normalize
pynr.math.denormalize
pynr.math.sigmoid_inverse
Metrics (pynr.metrics
)
pynr.metrics.mape
pynr.metrics.smape
pynr.metrics.MAPE
pynr.metrics.SMAPE
Moments (pynr.moments
)
pynr.moments.range_moments
pynr.moments.StaticMoments
pynr.moments.StreamingMoments
pynr.moments.ExponentialMovingMoments
Learning Rate Schedules (pynr.schedules
)
pynr.schedules.CyclicSchedule
Regularizers (pynr.regularizers
)
pynr.regularizers.DropoutL2
Reinforcement Learning (pynr.rl
)
Utilities for reinforcement learning.
Losses (pynr.rl.losses
)
pynr.rl.losses.policy_gradient
pynr.rl.losses.policy_entropy
pynr.rl.losses.clipped_policy_gradient
pynr.rl.losses.PolicyGradient
pynr.rl.losses.PolicyEntropy
pynr.rl.losses.ClippedPolicyGradient
Targets (pynr.rl.targets
)
pynr.rl.targets.DiscountedReturns
pynr.rl.targets.GeneralizedAdvantages
Strategies (pynr.rl.strategies
)
pynr.rl.strategies.EpsilonGreedy
pynr.rl.strategies.Mode
pynr.rl.strategies.Sample
Wrappers (pynr.rl.wrappers
)
pynr.rl.wrappers.ObservationCoordinates
pynr.rl.wrappers.ObservationNormalization
pynr.rl.wrappers.Batch
pynr.rl.wrappers.Process
There are a few options for installation:
-
(Recommended) Install with
pipenv
:pipenv install fomoro-pyoneer
-
Install locally for development with
pipenv
:git clone https://github.com/fomorians/pyoneer.git cd pyoneer pipenv install pipenv shell
There are a few options for testing:
-
Run all tests:
python -m unittest discover -bfp '*_test.py'
-
Run specific tests:
python -m pyoneer.math.logical_ops_test
File an issue following the ISSUE_TEMPLATE
. If the issue discussion warrants implementation, then submit a pull request from a branch describing the feature. This will eventually get merged into master
after a few rounds of code review.