Skip to content

Training an agent to land a spacecraft in the LunarLander environment.

License

Notifications You must be signed in to change notification settings

sadegh15khedry/Lunar-Lander-Using-PPO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lunar Lander Using Proximal Policy Optimization (PPO)

This repository contains code for training and evaluating a Lunar Lander agent using the Proximal Policy Optimization (PPO) algorithm.

Table of Contents

Directory Structure

├── src
│ ├── utils.py
│ ├── lunar_lander_training.py
│ └── lunar_lander_evaluation.py
├── notebooks
│ ├── lunar_lander_training.ipynb
│ └── lunar_lander_evaluation.ipynb
├── environment.yml
└── README.md

Files and Functions

  • utils.py : Utility functions for various tasks.
  • lunar_lander_training.py : Functions for training the lunar lander.
  • lunar_lander_evaluation.py : Functions for evaluating the lunar lander.
  • lunar_lander_training.ipynb: Notebook for lunar lander training.
  • lunar_lander_evaluation.ipynb: Notebook for lunar lander evaluation.

Model Performance

This section will be added

Installation Guide

To set up the project environment, use the environment.yml file to create a conda environment.

  1. Clone the repository:

    git clone https://github.com/sadegh15khedry/Lunar-Lander-Using-PPO.git
    cd Lunar-Lander-Using-PPO
  2. Create the conda environment:

    conda env create -f environment.yml
  3. Activate the conda environment:

    conda activate lunar-lander
  4. Verify the installation:

    python --version

Further Improvements

  • Tune hyperparameters for better performance.
  • Experiment with different algorithms available in Stable Baselines3.
  • Implement additional evaluation metrics and visualizations.

Acknowledgment

This project is based on the tutorial by Nicholas Renotte on training a Lunar Lander agent. You can find the tutorial here https://www.youtube.com/watch?v=nRHjymV2PX8&t=551s .

License

This project is licensed under the Apache-2.0 License - see the LICENSE.md file for details.