Welcome to an exciting journey into the world of artificial intelligence and gaming! In this guide, we’ll explore how to train a Super Mario agent using deep reinforcement learning techniques. Whether you’re a novice programmer or a seasoned developer, this user-friendly guide will lead you through the steps to create your very own Mario agent!
Getting Started
To get started with the project, follow the steps below:
1. Cloning the Repository
- Open your command-line interface (CLI).
- Clone the Super Mario RL repository by running the following command:
git clone https://github.com/jiseongHAN/Super-Mario-RL.git
cd Super-Mario-RL
2. Install Requirements
Next, install the necessary packages. You can do this by running the following command:
pip install -r requirements.txt
3. Install Required Libraries Manually (if needed)
- Install openAI gym:
pip install gym
pip install torch torchvision
pip install nes-py
pip install gym-super-mario-bros
Training the Agent
Now that you have everything set up, it’s time to train your Super Mario Agent!
1. Start Training
To train the agent using a dueling DQN (Deep Q-Network), use the following command:
python duel_dqn.py
2. Understanding Results
During the training process, your results will be saved as follows:
- Score will be stored in a file named
score.p, which saves the total score every 50 episodes. - Weights of the Q-network will be saved in files with the extension
.pth, every 50 training sessions.
Evaluating Your Agent
Once your training is complete, it’s time to evaluate the performance of your agent.
1. Evaluate the Pre-Trained Agent
To test and render the trained agent, you can use the Q-target weights generated during training:
python eval.py
2. Use Your Own Agent
If you want to evaluate your custom agent, use the following command:
python eval.py your_own_agent.pth
Understanding the Code Structure
Now, let’s break down the essence of the code with an analogy. Imagine you’re training a dog to fetch a stick. Just as you have to reward the dog with treats when it successfully brings the stick back, the agent gets rewards during training whenever it completes a task successfully in the game. The ‘dueling DQN’ is like having multiple trainers giving feedback to the dog — some focusing on the dog’s distance from the stick, while others focus on the dog’s technique. This layered feedback helps the agent learn more effectively, leading to better performance over time.
Troubleshooting
If you encounter any issues while following the steps, here are some helpful troubleshooting tips:
- Ensure that your Python and pip installations are up to date.
- Check that all dependencies are successfully installed without errors.
- If the model isn’t performing well, consider adjusting the training parameters in
duel_dqn.py. - For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Final Thoughts
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

