Update README.md
Browse files
README.md
CHANGED
|
@@ -7,6 +7,34 @@ tags:
|
|
| 7 |
- ML-Agents-SnowballTarget
|
| 8 |
---
|
| 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
# **ppo** Agent playing **SnowballTarget**
|
| 11 |
This is a trained model of a **ppo** agent playing **SnowballTarget**
|
| 12 |
using the [Unity ML-Agents Library](https://github.com/Unity-Technologies/ml-agents).
|
|
|
|
| 7 |
- ML-Agents-SnowballTarget
|
| 8 |
---
|
| 9 |
|
| 10 |
+
So, I've just had a chance to dive into this machine-learning project, and I've got to say, it's quite an interesting piece of work.
|
| 11 |
+
Let's walk through what's going on here, and I'll share some insights about the challenging parts as well as what seemed to flow more easily.
|
| 12 |
+
|
| 13 |
+
Project Overview:
|
| 14 |
+
The goal here was to tackle a problem with machine learning – something that's not always straightforward. The project uses ML Agents, which are powerful but can be a bit tricky to get right.
|
| 15 |
+
|
| 16 |
+
The Challenging Bits:
|
| 17 |
+
|
| 18 |
+
The data preprocessing was intense. Making sure the data was clean and in the right format took some effort. If you're new to this, make sure you understand how to handle missing values and outliers.
|
| 19 |
+
Fine-tuning the model parameters was another tough part. It's a bit of an art to balance overfitting and underfitting. My tip? Start with a wide parameter search and then narrow it down.
|
| 20 |
+
What Was Easier:
|
| 21 |
+
|
| 22 |
+
Once the data was prepped, feeding it into the model was pretty simple. The frameworks are user-friendly, so that part felt more like connecting the dots.
|
| 23 |
+
Writing the code for model evaluation was also pretty straightforward. Most libraries provide functions to generate metrics so that part felt more like following a recipe.
|
| 24 |
+
Tips for the Code:
|
| 25 |
+
|
| 26 |
+
Take the time to really understand each line of code. It's tempting to just copy-paste from Stack Overflow or tutorials, but you'll learn more by typing it out and playing with it.
|
| 27 |
+
|
| 28 |
+
Don't ignore the error messages. They're actually really helpful once you learn how to decipher them. They can pinpoint exactly where and what your issue might be.
|
| 29 |
+
|
| 30 |
+
Looking at the Code:
|
| 31 |
+
The code is well-organized, which is great. The functions are modular, which means they do one thing and do it well. That makes debugging a whole lot easier. There's a mix of simple and complex functions,
|
| 32 |
+
so if you're trying to understand the code, maybe start with the simpler utility functions and then work your way up to the model training and evaluation parts.
|
| 33 |
+
|
| 34 |
+
If you're just getting started with this codebase, I'd suggest running some small tests on each function to see what inputs they expect and what outputs they give.
|
| 35 |
+
Understanding these individual components will help you see the bigger picture of how the project works.
|
| 36 |
+
|
| 37 |
+
Lastly, if you hit a roadblock, don't hesitate to reach out to the google your issue online. More often than not, someone else has encountered the same issue, and forums like Stack Overflow are gold mines of information.
|
| 38 |
# **ppo** Agent playing **SnowballTarget**
|
| 39 |
This is a trained model of a **ppo** agent playing **SnowballTarget**
|
| 40 |
using the [Unity ML-Agents Library](https://github.com/Unity-Technologies/ml-agents).
|