* working on ALE image pipelines that appear to lose data
* transformation pipeline for ALE has been broken for a while and needed some cleanup to make sure that openCV tooling for scene transforms was actually working.
* allowing history length to be set and passed through to history merge transforms
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* native image loader is not thread-safe so should not be static
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* make sure the transformer for encoding observations that are not pixels converts corectly
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* Test fixes for ALE pixel observation shape
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* Fix compilation errors
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
* fixing some post-merge issues, and comments from PR
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
Co-authored-by: Samuel Audet <samuel.audet@gmail.com>
* refactoring global async to use a much simpler update procedure with a single global lock
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* simplification of async learning algorithms, stabilization + better hyperparameters
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* started to play with using mockito for tests
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* Working on refactoring tests for async classes and trying to make async simpler
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* more work on mockito tests and making some tests much less complex and more explicit in what they are testing
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* some fixes from merging
* do not allow copying of the current network to worker threads, fixing debug line
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* adding some more tests around PR review
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* Adding more tests after review comments
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* few more tests and fixes from PR review
* remove rename of maxEpochStep to maxStepsPerEpisode as we agreed to review this in a seperate PR
* 2019 instead of 2018 on copyright header
* adding konduit copyright to files
* some more copyright headers
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
Co-authored-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Starting to switch configs of RL algorithms to use more fluent builder patterns. Many parameter choices in different algorithms default to SOTA and only be changed in specific cases
Signed-off-by: Bam4d <chris.bam4d@gmail.com>
* remove personal gpu-build file
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* refactored out configurations so they are heirarchical and re-usable, this is a step towards having a plug-and-play framework for different algorithms
* backwardly compatible configurations
* adding documentation to new configuration classes
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* private access modifiers are better suited here
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* RL4j does not compile without java 8 due to previous updates
fixing null pointers when listener arrays are empty
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* fixing copyright headers
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* uncomment logging line
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* fixing default value for learningUpdateFrequency
fixing test failure due to #352
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
Co-authored-by: Bam4d <chris.bam4d@gmail.com>
* fix edge case where input to network needs to have shape > 1
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* adding test for single dimension
Signed-off-by: Bam4d <chrisbam4d@gmail.com>
* Test spam reduction
Signed-off-by: Alex Black <blacka101@gmail.com>
* Arbiter bad import fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* Small spark test tweak
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Arbiter test log spam reduction
Signed-off-by: Alex Black <blacka101@gmail.com>
* More test spam reduction
Signed-off-by: Alex Black <blacka101@gmail.com>
* Added isSkipped() to Observation
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Changed refacInitMdp to use isSkipped()
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Changed getHistoryProcessor()
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Fixed getEpochCounter() incorrectly changed to getCurrentEpochStep() calls
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Removed StepCountable
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Fix build
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
* Fixed a problem in QLearningDiscrete and another in CartpoleNative
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Update versions of JavaCPP Presets for NumPy, MKL, Gym, and TensorFlow
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
* RL4J: Add ability to set a random seed for GymEnv
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
Co-authored-by: Samuel Audet <samuel.audet@gmail.com>
* Removed processing from Policy.play() and fixed missing resets
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Adjusted unit test to check if DQNs have been reset
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Fixed a couple of problems, added and updated unit tests
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Removed processing from AsyncThreadDiscrete
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Fixed a few problems
Signed-off-by: unknown <aboulang2002@yahoo.com>
* A few fixes
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Reverted move of ObservationSpace, ActionSpace and others
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Added unit tests
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Changed ActionSpace of gym-java-client to use Nd4j's Random
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Changed to use Nd4j Random instead of java.util.Random
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Changed to use Nd4j.getRandom() instead of the factory
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Small build fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* Fix RL4J
Signed-off-by: Alex Black <blacka101@gmail.com>
* Test fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* Another fix
Signed-off-by: Alex Black <blacka101@gmail.com>
* Added a unit test to help refac QLearningDiscrete.trainStep()
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Changed expReplay setter to package private
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Added observation classes and tests
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Now uses DataSetPreProcessors
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* CompositeDataSetPreProcessor can now stop processing on empty dataset; Some DataSetPreProcessors moving from RL4J to ND4J
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Did requested minor changes
Signed-off-by: Alexandre Boulanger <Alexandre.Boulanger@ia.ca>
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>