Skip to main content

No project description provided

Project description

GridMind 🧠

Upload Python Package

GridMind is a library of reinforcement learning (RL) algorithms. This library prioritizes tabular implementations to enhance understanding and facilitate hands-on experimentation with learning patterns in various RL algorithms. GridMind is compatible with gymnasium environments, making it easy to integrate with a wide range of standard RL environments.

This library is also designed to serve as a companion for readers of the book Reinforcement Learning: An Introduction (2nd ed.) by Richard S. Sutton and Andrew G. Barto.

Note: GridMind is a work in progress and will be updated with additional algorithms and features over time.


📜 Algorithms Included

Tabular

1. Monte Carlo Methods

  • Every-Visit MC: Prediction
  • Exploring Starts: Prediction & Control
  • Off-Policy MC: Prediction & Control

2. Temporal Difference (TD) Methods

  • TD(0): Prediction
  • SARSA: Control
  • Q-Learning: Control

3. N-Step Methods

  • N_Step TD Prediction: Prediction
  • N_Step SARSA: Control

Function Approximation

  • Semi-gradient TD-0 Prediction: Prediction
  • Gradient Monte-Carlo Prediction: Prediction
  • Episodic Semi-gradient SARSA: Control
Demo

Figure: GridMind on different environments.


Documentation

https://gridmind.readthedocs.io/en/latest/

Getting Started 🚀

To use GridMind, you’ll need:

  • Python (>= 3.8)
  1. Installation: Clone the repository and install the package with the following commands:

    git clone https://github.com/shuvoxcd01/GridMind.git
    cd GridMind
    pip install .
    

    Or, install it from PyPI:

    pip install gridmind
    
  2. Basic Usage:

    from gridmind.algorithms.tabular.temporal_difference.control.q_learning import QLearning
    import gymnasium as gym
    
    # Initialize the Taxi-v3 environment
    env = gym.make("Taxi-v3")
    agent = QLearning(env=env)
    
    # Train the agent
    agent.optimize_policy(num_episodes=10000)
    
    # Get the learned policy
    policy = agent.get_policy()
    
    # Close and re-open the environment for rendering
    env.close()
    env = gym.make("Taxi-v3", render_mode="human")
    
    # Demonstrate the policy
    obs, _ = env.reset()
    for step in range(100):
        action = policy.get_action_deterministic(state=obs)
        next_obs, reward, terminated, truncated, _ = env.step(action=action)
        print("Reward: ", reward)
        obs = next_obs
        env.render()
    
        if terminated or truncated:
            obs, _ = env.reset()
    
    env.close()
    

🌍 Contribution

Contributions are welcome! Whether it’s bug fixes, new features, or suggestions, feel free to open an issue or submit a pull request. We appreciate the community's input in making GridMind a valuable learning resource for all.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gridmind-0.0.6.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gridmind-0.0.6-py3-none-any.whl (57.8 kB view details)

Uploaded Python 3

File details

Details for the file gridmind-0.0.6.tar.gz.

File metadata

  • Download URL: gridmind-0.0.6.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for gridmind-0.0.6.tar.gz
Algorithm Hash digest
SHA256 061ed105d0985309ef612f7c04d7f7b7d3d46530b1272336557d987d986fc478
MD5 fd0047a6235d75b60ee2954c9b36264e
BLAKE2b-256 da3d17221dd610e83cbd9ec0aa26adfdba9b6c887b026ea541c5337b25e444e0

See more details on using hashes here.

File details

Details for the file gridmind-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: gridmind-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 57.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for gridmind-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 44931f693cd14b07c7b279ee64f78f58cefc8f51c8314736f866829dda748166
MD5 a16a97ca5162305eb8c35630253d109a
BLAKE2b-256 58f5c3dd7e491bc60a834fe89f4660b608cfca78d787d74c34cab2110a16b968

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page