AWS DeepRacer может быть дорогим. Поскольку некоторые ведущие конкуренты в лиге тратят + 700 долларов на обучение своих DeepRacers и изучение того, как это делать эффективно, эта деятельность может быть очень дорогостоящей. Кроме того, если вы похожи на меня, вам нужен полный контроль над обучением вашей модели и возможность использовать алгоритмы RL, которые не предоставляет AWS (на момент написания они предоставляют только PPO). В этом руководстве я расскажу, как запустить DeepRacer локально на вашем компьютере с Ubuntu (я использую 18.04) с помощью докера. Также покажу места, где застрял, чтобы вы там не застряли. Мне потребовалось несколько дней исследований и попыток, чтобы понять это правильно, так что, надеюсь, вы обнаружите это, прежде чем потратите это время, чтобы вы могли сразу заняться интересными вещами, наблюдая, как ваш DeepRacer учится, не сокращая ваш кошелек!

Шаг 1. Если у вас его еще нет, создайте учетную запись AWS. Я рекомендую вам хотя бы немного поиграть с консолью DeepRacer, чтобы вы могли ознакомиться со всем, что там есть. В любом случае у вас будет около 10 часов бесплатного обучения, так что не помешает немного поиграться с официальной консолью.

Шаг 2: Убедитесь, что на вашем компьютере установлен git и что он совместим с докером.

Шаг 3. Создайте папку с именем github в любом удобном для вас месте и выполните следующую команду в терминале, который указывает на ваш каталог github. Мы будем использовать репозиторий Deepracer-for-dummies на Github, авторство которого предоставил Алекс Шульц.

git clone https://github.com/ARCC-RACE/deepracer-for-dummies.git && cd deepracer-for-dummies && ./init.sh

Шаг 4: Настройте файл aws-cli. Начните с установки на свой компьютер. Настройте файл конфигурации, запустив aws configure в терминале. Посмотрите это видео, начиная с 10-минутной отметки, чтобы узнать, как выполнять запросы конфигурации aws, связанные с ключами. Задайте регион `us-east-1` и ничего не помещайте в выходной формат (будет использоваться значение по умолчанию).

Шаг 5: Загрузите и установите vncviewer (получите .deb, если вы используете Linux): https://www.realvnc.com/en/connect/download/viewer/linux/. Вы можете установить его, открыв его с помощью программного обеспечения ubuntu или используя sudo dpkg -i /path/to_deb

Шаг 6: Установите Docker, Docker Compose и Nvidia Docker Runtime. Обязательно выполните шаги после установки докера, чтобы управлять Docker от имени пользователя без полномочий root и настроить Docker для запуска при загрузке. После завершения запустите docker network create sagemaker-local

Шаг 7. Начните обучение со скриптами, предоставленными репозиторием. Информацию о доступных скриптах и ​​их использовании смотрите в репозиториях README.md.

Когда вы запустите сценарий, чтобы начать обучение, вы должны увидеть три терминала, как показано ниже. Тот, что справа, - это терминал, в котором вы запустили команду, а тот, что посередине, - это терминал журнала после часа обучения или около того.

Также должно открыться окно VNC, показывающее симуляцию DeepRacer. После того, как все загрузится правильно, вы должны увидеть, как DeepRacer начинает учиться, мчась по трассе, как это происходит в консоли AWS DeepRacer. Серверная часть моделирования полностью реализована в ROS, с которой легко повозиться, если вы хотите добавить свой мир или настроить машину по своему вкусу. Вам больше не нужно иметь дело с ограничениями, накладываемыми консолью DeepRacer, так что посмотрите, что вы можете придумать!

Если sagemaker не запускается правильно (вы можете проверить, выполнив docker ps и проверив, запущен ли контейнер sage maker), попробуйте запустить docker images, чтобы увидеть, правильно ли установлен образ. В противном случае вам следует выполнить шаги в этом репозитории в Sagemaker, чтобы получить все настройки изображения.

Репозиторий DeepRacer, предоставленный Алексом Шульцем, также содержит удобные сценарии для локального запуска инструмента анализа журналов. Подробнее об этом можно узнать здесь. Я напишу об этом более подробно в будущем.

Я сделаю еще одно руководство по ручной загрузке ваших локальных моделей на официальную консоль для отправки в лигу DeepRacer. Загрузка модели вручную помогает лучше понять архитектуру AWS DeepRacer и ее структуру в S3.

Если вы хотите продолжить и поиграть с гиперпараметрами, пространством действий и функцией вознаграждения, как вы можете на консоли DeepRacer, вы можете следовать инструкциям, предоставленным deepracer-for-dummies README.md. В противном случае вы можете просто следить за изображениями ниже, на которых показано место для изменения каждой части DeepRacer.

Потратив некоторое время на работу с локальной симуляцией, я обнаружил, что файлы контрольных точек для DeepRacer быстро начинают разъедать ваше хранилище. Чтобы удалить файлы контрольных точек, что вы, возможно, захотите делать часто, чтобы симуляция не аварийно завершилась после использования всего доступного места на вашем компьютере, запустите `sudo rm -R ~ / github / deepracer-for-dummies / docker / volume / robo / КПП / КПП`. Это должно очистить вашу папку контрольной точки, если вы клонировали deepracer-for-dummies в папку github в корневом каталоге.

Недавно я выпустил локальную консоль DeepRacer или графический пользовательский интерфейс (GUI), чтобы облегчить работу с DeepRacer. Вы можете проверить это здесь".