* RL4J: Add generic update rule (#502)
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Shyrma reduce (#481)
* - start working on improving of cpu legacy code for reduce ops
Signed-off-by: Yurii <iuriish@yahoo.com>
* - further work on improving legacy loops
Signed-off-by: Yurii <iuriish@yahoo.com>
* - still working on improving reduce ops
Signed-off-by: Yurii <iuriish@yahoo.com>
* - further work on improving reduce ops
Signed-off-by: Yurii <iuriish@yahoo.com>
* - testing speed run of new reduce op
Signed-off-by: Yurii <iuriish@yahoo.com>
* - working on improvement of default loop for reduce op
Signed-off-by: Yurii <iuriish@yahoo.com>
* - update signatures of stuff which calls reduce ops
Signed-off-by: Yurii <iuriish@yahoo.com>
* - make corrections in cuda reduce kernels
Signed-off-by: Yurii <iuriish@yahoo.com>
* - change loop for default case in broadcast legacy ops
Signed-off-by: Yurii <iuriish@yahoo.com>
* - comment some shape stuff
Signed-off-by: Yurii <iuriish@yahoo.com>
* - comment unnecessary prints in RNGtests
Signed-off-by: Yurii <iuriish@yahoo.com>
* - finish to resolve conflicts after master has been merged
Signed-off-by: Yurii <iuriish@yahoo.com>
* - get rid of some compilation mistakes of cuda stuff
Signed-off-by: Yurii <iuriish@yahoo.com>
* - minor changes
Signed-off-by: Yurii <iuriish@yahoo.com>
* - further search for bug causing crash on java test
Signed-off-by: Yurii <iuriish@yahoo.com>
* - add scalar case in reduce_ ... exec stuff
Signed-off-by: Yurii <iuriish@yahoo.com>
* - minor corrections in NAtiveOps.cu
Signed-off-by: Yurii <iuriish@yahoo.com>
* - add switch to scalar case execReduceXD functions
Signed-off-by: Yurii <iuriish@yahoo.com>
* - add support for vectors old shape in ConstantShapeHelper::createShapeInfoWithNoUnitiesForReduce
Signed-off-by: Yurii <iuriish@yahoo.com>
* - correct cuda mirrorPad
Signed-off-by: Yurii <iuriish@yahoo.com>
* - add support for vectors old shape in cuda createShapeInfoWithNoUnitiesForReduce
Signed-off-by: Yurii <iuriish@yahoo.com>
Co-authored-by: raver119 <raver119@gmail.com>
* Add support for CUDA 11.0 (#492)
* Add support for CUDA 11.0
* libnd4j tweaks for CUDA 11
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* bindings update, again?
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* * Update versions of JavaCPP Presets for FFmpeg, OpenBLAS, and NumPy
* update API to match CUDA 8
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* * Update version of JavaCPP Presets for CPython
* C++ updated for cuDNN 8.0
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* one more test
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* one more test
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* one more test
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* 128-bit alignment for workspaces
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* change seed in 1 test
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* Fix dependecy duplication in python4j-parent pom
* Fix group id for in python4j-numpy
* few tests tweaked
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* Remove macosx-x86_64-gpu from nd4j-tests-tensorflow
* few minor tweaks for IndexReduce
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
* one test removed
Signed-off-by: raver119@gmail.com <raver119@gmail.com>
Co-authored-by: raver119@gmail.com <raver119@gmail.com>
Co-authored-by: Serhii Shepel <9946053+sshepel@users.noreply.github.com>
* RL4J: Add SyncTrainer and AgentLearnerBuilder for a few algorithms (#504)
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
Co-authored-by: Alexandre Boulanger <44292157+aboulang2002@users.noreply.github.com>
Co-authored-by: Yurii Shyrma <iuriish@yahoo.com>
Co-authored-by: raver119 <raver119@gmail.com>
Co-authored-by: Serhii Shepel <9946053+sshepel@users.noreply.github.com>
* Refactor nd4j-common: org.nd4j.* -> org.nd4j.common.*
Signed-off-by: Alex Black <blacka101@gmail.com>
* Fix CUDA (missed nd4j-common package refactoring changes)
Signed-off-by: Alex Black <blacka101@gmail.com>
* nd4j-kryo: org.nd4j -> org.nd4j.kryo
Signed-off-by: Alex Black <blacka101@gmail.com>
* Fix nd4j-common for deeplearning4j-cuda
Signed-off-by: Alex Black <blacka101@gmail.com>
* nd4j-grppc-client: org.nd4j.graph -> org.nd4j.remote.grpc
Signed-off-by: Alex Black <blacka101@gmail.com>
* deeplearning4j-common: org.deeplearning4.* -> org.deeplearning4j.common.*
Signed-off-by: Alex Black <blacka101@gmail.com>
* deeplearning4j-core: org.deeplearning4j.* -> org.deeplearning.core.*
Signed-off-by: Alex Black <blacka101@gmail.com>
* deeplearning4j-cuda: org.deeplearning4j.nn.layers.* -> org.deeplearning4j.cuda.*
Signed-off-by: Alex Black <blacka101@gmail.com>
* Import fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* deeplearning4j-nlp-*: org.deeplearning4.text.* -> org.deeplearning4j.nlp.(language).*
Signed-off-by: Alex Black <blacka101@gmail.com>
* deeplearning4j-ui-model: org.deeplearning4j.ui -> org.deeplearning4j.ui.model
Signed-off-by: Alex Black <blacka101@gmail.com>
* datavec-spark-inference-{server/model/client}: org.datavec.spark.transform -> org.datavec.spark.inference.{server/model/client}
Signed-off-by: Alex Black <blacka101@gmail.com>
* datavec-jdbc: org.datavec.api -> org.datavec.jdbc
Signed-off-by: Alex Black <blacka101@gmail.com>
* Delete org.deeplearning4j.datasets.iterator.impl.MultiDataSetIteratorAdapter in favor of (essentially identical) org.nd4j.linalg.dataset.adapter.MultiDataSetIteratorAdapter
Signed-off-by: Alex Black <blacka101@gmail.com>
* ND4S fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* Fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* nd4j-common-tests: org.nd4j.* -> org.nd4j.common.tests
Signed-off-by: Alex Black <blacka101@gmail.com>
* Trigger CI
Signed-off-by: Alex Black <blacka101@gmail.com>
* Fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* #8878 Ignore CUDA tests on modules with 'nd4j-native under cuda' issue
Signed-off-by: Alex Black <blacka101@gmail.com>
* Fix bad imports in tests
Signed-off-by: Alex Black <blacka101@gmail.com>
* Add ignore on test (already failing) due to #8882
Signed-off-by: Alex Black <blacka101@gmail.com>
* Import fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* Additional import fixes
Signed-off-by: Alex Black <blacka101@gmail.com>
* 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>
* Fix repo links and clean up old github templates
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* More link updates
Signed-off-by: AlexDBlack <blacka101@gmail.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>