AutoBench is an open-source project base on Unity ML-Agents Toolkit featuring high configurability including difficulty, rewards, weather conditions, and visual observation types. Using REAL driving license exam in Taiwan as an example to showcase the applicability of autonomous vehicle in reinforcement learning approach with configurable difficulty technique.
Environment supports:
-
General Machine Learning - letting the user implement their own decide algorithm within the out-of-the-box standard training loop.
-
Reinforcement Learning - Containing the entire RL training loop, based on part of ML-Agents trainer with built-in Proximal Policy Algorithm algorithm, and recurrent support using DRQN
-
OpenAI Gym Compatible - Based on Gym-Unity wrapper, that supports OpenAI Gym interface for further integration meaning users are able to test any Gym-compatible algorithms within AutoBench. Limitation
-
Benchmark Mode - Complement for above every training mode,
BenchmarkManager
is a static class handling benchmark tracking and analysis. Sample code can be found inlearn_ml.py
andlearn_rl.py
- Road Geometry based on real license exam.
- Support Reinforcement learning, General machine learning, and OpenAI Gym interface. (learn more)
- Configurable Difficulty through Road Width, Visual Details and Image types. (learn more)
- Various Visual Observation Types support. (learn more)
- WASD-control Observation Camera in inference mode
- Configurable Weather Conditions, Time of the Day. (learn more)
- Configurable Rewards for reward shaping (learn more)
- Out-of-the-box Benchmark system (learn more)
- A Pre-train model (learn more)
(future work)
- More configurable road spec (curvature, bumpiness)
- More tasks (parallel parking, reverse parking)
- Configurable agent amount
More info about the Tutorial and Documentation
- Unity ML-Agents Repository
- ML-ImageSynthesis Repository
- Proximal Policy Algorithm
- Deep Recurrent Q-Learning for Partially Observable MDPs
Paper Citation (TBA)
Bitcoin: 1ErZXAEoQVzFSkarXKpxfTRzYrp9SALVp2
Ethereum: 0x312ADcc92c3ff549001ea4437A767c512C9546E3
Feel free to give us feedback using the "Issue" section