/deep-rl-class

This repo contains the syllabus of the Hugging Face Deep Reinforcement Learning Course.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

This repository contains the Deep Reinforcement Learning Course mdx files and notebooks. The website is here: https://huggingface.co/deep-rl-course/unit0/introduction?fw=pt





The documentation below is for v1.0 (depreciated)

We're launching a new version (v2.0) of the course starting December the 5th,

The syllabus πŸ“š: https://simoninithomas.github.io/deep-rl-course

Sign up here ➑️➑️➑️ http://eepurl.com/ic5ZUD





The documentation below is for v1.0 (depreciated)

In this free course, you will:

  • πŸ“– Study Deep Reinforcement Learning in theory and practice.
  • πŸ§‘β€πŸ’» Learn to use famous Deep RL libraries such as Stable Baselines3, RL Baselines3 Zoo, and RLlib.
  • πŸ€– Train agents in unique environments such as SnowballFight, Huggy the Doggo 🐢, and classical ones such as Space Invaders and PyBullet.
  • πŸ’Ύ Publish your trained agents in one line of code to the Hugging Face Hub. But also download powerful agents from the community.
  • πŸ† Participate in challenges where you will evaluate your agents against other teams.
  • πŸ–ŒοΈπŸŽ¨ Learn to share your own environments made with Unity and Godot.

The best way to keep in touch is to join our discord server to exchange with the community and with us πŸ‘‰πŸ» https://discord.gg/aYka4Yhff9

Are you new to Discord? Check our discord 101 to get the best practices πŸ‘‰ https://github.com/huggingface/deep-rl-class/blob/main/DISCORD.Md

And don't forget to share with your friends who want to learn πŸ€—!

The Syllabus πŸ—οΈ

This course is self-paced you can start when you want πŸ₯³.

πŸ“† Publishing date πŸ“˜ Unit πŸ‘©β€πŸ’» Hands-on
Published πŸ₯³ An Introduction to Deep Reinforcement Learning Train a Deep Reinforcement Learning lander agent to land correctly on the Moon πŸŒ• using Stable-Baselines3
Published πŸ₯³ Bonus
Published πŸ₯³ Q-Learning Train an agent to cross a Frozen lake β›„ and train an autonomous taxi πŸš–.
Published πŸ₯³ Deep Q-Learning Train a Deep Q-Learning agent to play Space Invaders using RL-Baselines3-Zoo
Published πŸ₯³ Bonus: Automatic Hyperparameter Tuning using Optuna
Published πŸ₯³ 🎁 Learn to train your first Unity MLAgent Train a curious agent to destroy Pyramids πŸ’₯
Published πŸ₯³ Policy Gradient with PyTorch Code a Reinforce agent from scratch using PyTorch and train it to play Pong 🎾, CartPole and Pixelcopter 🚁
Published πŸ₯³ Towards better explorations methods with Curiosity
Published πŸ₯³ Advantage Actor Critic (A2C) Train a bipedal walker and a spider to learn to walk using A2C
Published πŸ₯³ Proximal Policy Optimization (PPO) Code a PPO agent from scratch using PyTorch and bulletproof it with Classical Control Environments
Published πŸ₯³ Decision Transformers and offline Reinforcement Learning Train your first Offline Decision Transformer model from scratch to make a half-cheetah run

The library you'll learn during this course

Version 1.0 (current):

Version 2.0 (in addition to SB3, RL-Baselines3-Zoo and CleanRL):

The Environments you'll use

Custom environments made by the Hugging Face Team using Unity and Godot

Environment Screenshot
Huggy the Doggo 🐢 (Based on Unity's Puppo the Corgi work) lunarlander.gif
SnowballFight β˜ƒοΈ πŸ‘‰ Play it here: https://huggingface.co/spaces/ThomasSimonini/SnowballFight snowballfight.gif

Gym classic and controls environments πŸ•ΉοΈ

Environment Screenshot
Lunar Lander πŸš€πŸŒ™ lunarlander.gif
Frozen Lake β›„ frozenlake.gif
Taxi πŸš– taxi.gif
Cartpole cartpole.jpg
Pong 🎾 pong.jpg
Pixelcopter 🚁 pong.jpg

Gym Atari environments πŸ‘Ύ

Environment Screenshot
Space Invaders πŸ‘Ύ spaceinvaders.gif
Breakout breakout.gif
Qbert qbert.gif
Seaquest seaquest.gif

PyBullet πŸ€–

Environment Screenshot
Ant Bullet antbullet.gif
Walker 2D Bullet walker2d.gif

MLAgents environments πŸ–ŒοΈ

  • More to come 🚧

  • More to come 🚧

Prerequisites

  • Good skills in Python 🐍
  • Basics in Deep Learning and Pytorch

If it's not the case yet, you can check these free resources:

FAQ

Is this class free?

Yes, totally free πŸ₯³.

Do I need to have a Hugging Face account to follow the course?

Yes, to push your trained agents during the hands-on, you need an account (it's free) πŸ€—.

You can create one here πŸ‘‰ https://huggingface.co/join

What’s the format of the class?

The course consists of 8 Units. In each of the Units, we'll have:

  • A theory explained part: an article and a video (based on Deep Reinforcement Learning Course)
  • A hands-on Google Colab where you'll learn to use famous Deep RL libraries such as Stable Baselines3, RL Baselines3 Zoo, and RLlib to train your agents in unique environments such as SnowballFight, Huggy the Doggo 🐢, and classical ones such as Space Invaders and PyBullet.
  • Some optional challenges: train an agent in another environment, and try to beat the results.

It's not a live course video, so you can watch and read each unit when you want πŸ€— You can check the syllabus here πŸ‘‰ https://github.com/huggingface/deep-rl-class

What I will do during this course?

In this free course, you will:

  • πŸ“– Study Deep Reinforcement Learning in theory and practice.
  • πŸ§‘β€πŸ’» Learn to use famous Deep RL libraries such as Stable Baselines3, RL Baselines3 Zoo, and RLlib.
  • πŸ€– Train agents in unique environments such as SnowballFight, Huggy the Doggo 🐢, and classical ones such as Space Invaders and PyBullet.
  • πŸ’Ύ Publish your trained agents in one line of code to the Hub. But also download powerful agents from the community.
  • πŸ† Participate in challenges where you will evaluate your agents against other teams.
  • πŸ–ŒοΈπŸŽ¨ Learn to share your own environments made with Unity and Godot.

Where do I sign up?

Here πŸ‘‰ http://eepurl.com/h1pElX

Where can I find the course?

On this repository, we'll publish every week the links (chapters, hands-ons, videos).

Where can I exchange with my classmates and with you?

We have a discord server where you can exchange with the community and with us πŸ‘‰πŸ» https://discord.gg/aYka4Yhff9

Don’t forget to introduce yourself when you sign up πŸ€—

I have some feedback

We want to improve and update the course iteratively with your feedback. If you have some, please fill this form πŸ‘‰ https://forms.gle/3HgA7bEHwAmmLfwh9

How much background knowledge is needed?

Some prerequisites:

Good skills in Python 🐍 Basics in Deep Learning and Pytorch

If it's not the case yet, you can check these free resources:

Is there a certificate?

Yes πŸŽ‰. You'll need to upload the eight models with the eight hands-on.

Citing the project

To cite this repository in publications:

@misc{deep-rl-class,
  author = {Simonini, Thomas and Sanseviero, Omar},
  title = {The Hugging Face Deep Reinforcement Learning Class},
  year = {2022},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/huggingface/deep-rl-class}},
}