Chris Bamford
1a35ebec2e
RL4J: Add Backwardly Compatible Builder patterns ( #326 )
...
* 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>
2020-04-06 12:36:12 +09:00
Chris Bamford
8ac89aeb19
RL4J: Force shape fix ( #352 )
...
* 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>
2020-04-01 14:28:01 +09:00
Samuel Audet
5cd143611e
Merge remote-tracking branch 'eclipse/master'
...
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
2020-03-18 16:17:14 +09:00
raver119
a7a97d8259
rl4j: update host pointers content before reading them
...
Signed-off-by: raver119 <raver119@gmail.com>
2020-03-11 10:57:55 +03:00
Alexandre Boulanger
8b10f0b876
RL4J: Add TransformProcess, part 2 ( #8766 )
...
* Part 2 of TransformProcess
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Fix compile errors
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
* Revert unrelated changes
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
Co-authored-by: Samuel Audet <samuel.audet@gmail.com>
2020-03-11 11:56:41 +09:00
Samuel Audet
58aa5a3a9b
RL4J: Add TransformProcess, part 1 ( #8711 )
...
* Added TransformProcess, part 1
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Renamed TemporalMergeTransform to HistoryMergeTransform
Signed-off-by: unknown <aboulang2002@yahoo.com>
* changed INDArrayHelper to use Nd4j.expandDims
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Adjusted copyrights
Signed-off-by: unknown <aboulang2002@yahoo.com>
2020-03-05 14:43:13 +09:00
Alex Black
c8882cbfa5
Test fixes + cleanup ( #245 )
...
* 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>
2020-02-18 10:29:06 +11:00
Alexandre Boulanger
20e3039f2e
RL4J: Change frame skipping logic ( #8596 )
...
* 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>
2020-02-04 12:23:39 +09:00
Samuel Audet
9edbefdc67
RL4J: Replace gym-java-client with JavaCPP ( #8595 )
...
* RL4J: Replace gym-java-client with JavaCPP
Signed-off-by: Samuel Audet <samuel.audet@gmail.com>
2020-01-20 17:13:57 +09:00
Alexandre Boulanger
de3975f088
RL4J: Remove processing done on observations in Policy & Async ( #8471 )
...
* 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>
2019-12-18 16:27:05 +09:00
Alex Black
3275fe35a3
Merge pull request #8495 from KonduitAI/master
...
Update master
2019-12-05 11:05:44 +11:00
Samuel Audet
5e07998e59
Add support for CUDA 10.2 ( #89 )
2019-11-29 16:31:03 +11:00
Alexandre Boulanger
47c58cf69d
RL4J: Add Observation and LegacyMDPWrapper ( #8368 )
...
* Added Observable & LegacyMDPWrapper
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Moved observation processing to LegacyMDPWrapper
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Observation using DataSets, changes in Transition and BaseTDTargetAlgorithm
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Added javadoc to Transition new methods
Signed-off-by: unknown <aboulang2002@yahoo.com>
2019-11-26 23:05:11 +09:00
Alex Black
47d19908f4
Various fixes ( #43 )
...
* #8172 Enable DL4J MKLDNN batch norm backward pass
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* #8382 INDArray.toString() rank 1 brackets / ambiguity fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* #8308 Fix handful of broken links (inc. some in errors)
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Unused dependencies, round 1
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Unused dependencies, round 2
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Unused dependencies, round 3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Small fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Uniform distribution TF import fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-14 19:38:20 +11:00
Alexandre Boulanger
a2b973d41b
RL4J: Make a few fixes ( #8303 )
...
* 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>
2019-10-31 13:41:52 +09:00
Alexandre Boulanger
171ce51f46
RL4J: Use Nd4j Random instead of java.util.Random ( #8282 )
...
* 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>
2019-10-16 10:56:24 +09:00
Alexandre Boulanger
3aa51e210a
RL4J: Extract TD Target calculations (StandardDQN and DoubleDQN) ( #8267 )
...
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
2019-10-09 09:14:47 +09:00
Alexandre Boulanger
5959ff4795
RL4J: Fix QLearningDiscrete.setTarget() and add CartpoleNative ( #8250 )
...
* Fixed QLearningDiscrete.setTarget()
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Added native java version of Cartpole
Signed-off-by: unknown <aboulang2002@yahoo.com>
2019-10-01 09:27:51 +09:00
Alexandre Boulanger
d5e98afcef
RL4J: Add VideoRecorder ( #8106 )
...
* Added VideoRecorder
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Added missing header
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Changed HistoryProcessor to use VideoRecorder
Signed-off-by: unknown <aboulang2002@yahoo.com>
2019-09-30 13:40:32 +09:00
Alexandre Boulanger
59f1cbf0c6
RL4J - AsyncTrainingListener ( #8072 )
...
* Code clarity: Extracted parts of run() into private methods
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Added listener pattern to async learning
Signed-off-by: unknown <aboulang2002@yahoo.com>
* Merged all listeners logic
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Added interface and common data to training events
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Fixed missing info log file
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Fixed bad merge; removed useless TrainingEvent
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Removed param from training start/end event
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Removed 'event' classes from the training listener
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Reverted changes to QLearningDiscrete.setTarget()
2019-09-19 11:28:13 +10:00
Alex Black
dcc2baa676
Version upgrades ( #199 )
...
* DataVec fixes for Jackson version upgrade
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J jackson updates + databind version 2.9.9.3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Shade snakeyaml along with jackson
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Version fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Switch DataVec legacy JSON format handling to mixins
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Next set of fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Cleanup for legacy JSON mapping
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Upgrade commons compress to 1.18; small test fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* New Jackson backward compatibility for DL4J - Round 1
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* New Jackson backward compatibility for DL4J - Round 2
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* More fixes, all but legacy custom passing
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Legacy deserialization cleanup
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Small amount of polish - legacy JSON
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Upgrade guava version
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* IEvaluation legacy format deserialization fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Upgrade play version to 2.7.3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Update nd4j-parameter-server-status to new Play API
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Update DL4J UI for new play version
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* More play framework updates
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Small fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Remove Spark 1/2 adapter code from DataVec
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* datavec-spark dependency cleanup
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 1
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 2
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 4
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Test fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Another fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Breeze upgrade, dependency cleanup
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Add Scala 2.12 version to pom.xml
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* change-scala-versions.sh - add scala 2.12, remove 2.10
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Move Spark version properties to parent pom (now that only one spark version is supported)
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DataVec Play fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* datavec play dependency fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Clean up old spark/jackson stuff
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Cleanup jackson unused dependencies
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Dropping redundant dependency
Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com>
* Removed scalaxy dependency
Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com>
* DataVec fixes for Jackson version upgrade
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J jackson updates + databind version 2.9.9.3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Shade snakeyaml along with jackson
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Version fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Switch DataVec legacy JSON format handling to mixins
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Next set of fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Cleanup for legacy JSON mapping
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Upgrade commons compress to 1.18; small test fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* New Jackson backward compatibility for DL4J - Round 1
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* New Jackson backward compatibility for DL4J - Round 2
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* More fixes, all but legacy custom passing
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Legacy deserialization cleanup
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Small amount of polish - legacy JSON
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Upgrade guava version
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* IEvaluation legacy format deserialization fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Upgrade play version to 2.7.3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Update nd4j-parameter-server-status to new Play API
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Update DL4J UI for new play version
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* More play framework updates
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Small fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Remove Spark 1/2 adapter code from DataVec
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* datavec-spark dependency cleanup
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 1
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 2
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 3
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DL4J spark updates, pt 4
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Test fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Another fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Breeze upgrade, dependency cleanup
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Add Scala 2.12 version to pom.xml
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* change-scala-versions.sh - add scala 2.12, remove 2.10
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Move Spark version properties to parent pom (now that only one spark version is supported)
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DataVec Play fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* datavec play dependency fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Clean up old spark/jackson stuff
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Cleanup jackson unused dependencies
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Add shaded guava
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Dropping redundant dependency
Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com>
* Removed scalaxy dependency
Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com>
* Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* ND4J Shaded guava import fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* DataVec and DL4J guava shading
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Arbiter, RL4J fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Build fixed
Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com>
* Fix dependency
Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com>
* Fix bad merge
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Jackson shading fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Set play secret, datavec-spark-inference-server
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Fix for datavec-spark-inference-server
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Arbiter fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Arbiter fixes
Signed-off-by: AlexDBlack <blacka101@gmail.com>
* Small test fix
Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
Serhii Shepel
0463ee4eba
Fix backend dependencies for tests ( #189 )
2019-08-29 12:54:48 +09:00
Alex Black
95100ffd8c
Small build fixes ( #127 )
...
* 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>
2019-08-17 14:13:31 +10:00
Alexandre Boulanger
b083c22de5
RL4J - Added a unit test to help refac QLearningDiscrete.trainStep() ( #8065 )
...
* 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>
2019-08-02 12:50:28 +10:00
Alexandre Boulanger
b2145ca780
RL4J Added listener pattern to SyncLearning ( #8050 )
...
* Added listener pattern to SyncLearning
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
* Did requested changes
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
2019-08-02 12:43:45 +10:00
Alexandre Boulanger
87d2b2cd3d
Added interface IDataManager ( #8034 )
...
Signed-off-by: Alexandre Boulanger <aboulang2002@yahoo.com>
2019-07-25 21:34:54 +10:00
Alexandre Boulanger
ee6aae268f
RL4J refac: Added some observation transform classes ( #7958 )
...
* 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>
2019-07-20 10:28:20 +10:00
skymindops
b5f0ec072f
Eclipse Migration Initial Commit
2019-06-06 15:21:15 +03:00