Skip to content

fomorians-oss/pyoneer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

173 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • 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.

  • 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.

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages