#7 – Визуальный пример на базе движка Unity

#7 – Визуальный пример на базе движка Unity

Начиная с этого урока мы с вами реализуем визуальный пример машинного обучения. Мы создадим проект в игровом движке Unity, что будет позволять обучать объекты находить правильный путь.

Видеоурок

Что такое ML-Agents?

ML-Agents — это библиотека, разработанная Unity, которая позволяет создавать агентов в игровом мире и обучать их на основе подкрепления. Это значит, что агент изначально не знает, как себя вести, но, пробуя различные действия и получая за них награды или штрафы, со временем учится оптимальному поведению.


ML-Agents состоит из двух основных компонентов. Первый — это часть внутри Unity, представлена в виде плагина и набора скриптов. Второй — это внешняя Python-библиотека, с помощью которой вы запускаете обучение и контролируете процесс. Эти две части взаимодействуют друг с другом через специальный протокол.


Что будет в этом уроке?

Мы создадим простейшую сцену: агент в виде шара и цель в виде маленького кубика. Агенту предстоит научиться двигаться по плоскости и достигать цели. Это базовая задача, но она показывает все ключевые этапы: как создать агента, как задать правила, как соединить Unity с Python и как в итоге запустить обучение.


Подготовка проекта Unity

Надеюсь, Unity у вас уже установлен. Если нет — скачайте его и установите. В Unity создайте новый 3D-проект. Назовите его, например, MLBall.


Перейдите в Unity Asset Store и скачайте последнюю версию ML-Agents Unity Package. Этот плагин нужно будет добавить в проект Unity и импортировать все его содержимое.

После установки у вас появится возможность добавлять поведение агентам, а также использовать специальные компоненты.


Создание сцены: агент и цель

Теперь создаём саму сцену. Добавьте в сцену плоскость (3D Object > Plane) — это будет наша игровая площадка. Далее создайте шар (3D Object > Sphere) — это и будет агент. И добавьте куб (3D Object > Cube) — это будет цель.


Шар назовите Agent, а куб — Target. Назначьте им разные цвета с помощью материалов, чтобы легко отличать их при запуске игры. Добавьте к шару и кубу компонент Rigidbody — он отвечает за физику в Unity. Установите у шара параметр Use Gravity = false, так как он будет двигаться по плоскости.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Также стоит посмотреть

Python Data Science / Обработка данных (Scikit-learn, TensorFlow)
11 уроков
Изучение Python UI (GUI Apps) / Программы на Питон
10 уроков
Изучение Python до профи / Основы, Django, TKinter
Python Data Analytics / Аналитика данных (NumPy, Pandas, Matplotlib)
9 уроков
Уроки ChatGPT API / Разработка программ на Python и ChatGPT
7 уроков
Изучение PyQt5 / Графический интерфейс на Python
6 уроков
Комментарии
Добавить комментарий

Пока комментариев нет