Skip to main content

Tensor utilities, reinforcement learning, and more!

Project description

pyoneer

Tensor utilities, reinforcement learning, and more! Designed to make research easier with low-level abstractions for common operations.

Usage

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.

Examples

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

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

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

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

Installation

There are a few options for installation:

  1. (Recommended) Install with pipenv:

     pipenv install fomoro-pyoneer
    
  2. Install locally for development with pipenv:

     git clone https://github.com/fomorians/pyoneer.git
     cd pyoneer
     pipenv install
     pipenv shell
    

Testing

There are a few options for testing:

  1. Run all tests:

     python -m unittest discover -bfp '*_test.py'
    
  2. Run specific tests:

     python -m pyoneer.math.logical_ops_test
    

Contributing

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.

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

fomoro-pyoneer-0.3.0.tar.gz (22.0 kB view hashes)

Uploaded Source

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