Skip to content

pilgrimygy/ReinforcementLearningCore.jl

 
 

Repository files navigation

ReinforcementLearningCore

⚠️ This package is moved into ReinforcementLearning.jl (2021-05-06)

CI CodeCoverage

This package is the core component of ReinforcementLearning.jl. It provides some typical implementations of the interfaces defined in ReinforcementLearningBase.jl.

Code Structure

./src
├── core (define how policies interact with environments)
├── extensions (patch code for upstream packages are stored here)
├── policies (all policies are put here)
│   ├── agents (= policy + trajectory)
│   ├── q_based_policies
│   │   ├── explorers (select action from action-values)
│   │   └── learners (learn state-value, state-action-value, distributional value...)
│   │       └── approximators (= NN + Optimiser)
│   └── (some other common policies).jl
└── utils (Reusable functions/structures)

For developers who are interested in contributing, I suggest you read the source code in the following top-down order:

  • core/run.jl
  • policies/base.jl
  • policies/agents/agent.jl
  • policies/agents/trajectories/trajectory.jl
  • policies/q_based_policies/q_based_policy.jl
  • policies/q_based_policies/learners/approximators/neural_network_approximator.jl
  • policies/q_based_policies/explorers/weighted_explorer.jl

Then play with the E`JuliaRL_BasicDQN_CartPole` experiment in ReinforcementLearningZoo.jl and try to understand the runtime logic step by step. After that, you can explore other components on demand.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%