Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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.

Files for fomoro-pyoneer, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size fomoro-pyoneer-0.3.0.tar.gz (22.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page