Unity ML Agents | Penguins

Start Here

This is a companion post to the Unity ML Agents YouTube tutorial. You’ll learn how to use machine learning, specifically reinforcement learning in Unity to train penguins to find fish and feed their babies.

ML-Agents Code

In this video, I'm using Release 0.8.2, which you can get here:

https://github.com/Unity-Technologies/ml-agents/releases/tag/0.8.2

The latest version is likely very similar, but if you have trouble, you can always roll back to 0.8.2

⚠Version 0.9 Update

Version 0.9 was released on August 2nd, 2019 (three days after I posted this #facepalm) and requires a change to the format of trainer_config.yaml. I updated the code in the link Gumroad download link below. If you are using version 0.9 instead of 0.8.2, make sure to use trainer_config-0.9.yaml instead. (More details here)

Downloads

Code and 3D Meshes (Free)

https://gumroad.com/l/TZNBD 👈 $0+ on Gumroad means you can get them *completely for free* by typing in a 0, no account required, just an email address.

Complete, Finished Project (not free)

You can learn everything for free from the YouTube video and free assets above. If you want the full finished project (v0.8.2), I’ve made it available for a small cost. https://gumroad.com/gWkn

Setup

As mentioned in the video, the first thing you'll need to do is follow the Installation instructions and the Basic Guide. These will get you up and running with Unity ML-Agents and ready to start the tutorial.

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Basic-Guide.md

I highly encourage you to check out the ML-Agents Documentation, which will help you understand the project in more depth and provide a place to discuss issues that are not specific to the pig project.

https://github.com/Unity-Technologies/ml-agents/tree/master/docs

Helpful Additions

Training Command

The command I used to train (in my Anaconda Prompt) with curriculum was:

    mlagents-learn config/trainer_config.yaml --curriculum=config/curricula/penguin/ --run-id=penguin_01 --train

If you are using version 0.9, you’ll have to point to the correct trainer_config:

    mlagents-learn config/trainer_config-0.9.yaml --curriculum=config/curricula/penguin/ --run-id=penguin_01 --train