1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/TensorLayer-RLzoo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Reinforcement Learning Zoo

RLzoo — это набор наиболее практичных алгоритмов, фреймворков и приложений для обучения с подкреплением. Он реализован с использованием TensorFlow 2.0 и API слоёв нейронных сетей в TensorLayer 2, чтобы обеспечить практический подход к обучению с подкреплением и сравнительным тестам. RLzoo поддерживает базовые тесты, такие как OpenAI Gym и DeepMind Control Suite, с очень простыми конфигурациями. Кроме того, RLzoo поддерживает среду обучения роботов RLBench на основе симулятора Vrep/PyRep. В будущем будет поддерживаться крупномасштабное распределённое обучение для более реалистичных сценариев с Unity 3D, Mujoco, Bullet Physics и т. д.

В отличие от RLzoo, который предназначен для простого использования с высокоуровневыми API, у нас также есть руководство по RL, которое призвано сделать обучение с подкреплением простым, прозрачным и понятным с низкоуровневыми API. Это не только принесёт пользу начинающим специалистам по обучению с подкреплением, но и предоставит удобство опытным исследователям для быстрой проверки своих новых идей.


Пожалуйста, ознакомьтесь с нашей онлайн-документацией. Мы предлагаем пользователям сообщать об ошибках через проблемы Github. Пользователи также могут обсудить использование RLzoo в следующем канале Slack. actor = StochasticPolicyNetwork(obs_space, act_space, hidden_dim_list=num_hidden_layer * [hidden_dim], output_activation=tf.nn.tanh)

net_list = [actor, critic] # list of the networks

'Выберите оптимизаторы'

a_lr, c_lr = 1e-4, 1e-2 # a_lr: скорость обучения актёра; c_lr: скорость обучения критика

a_optimizer = tf.optimizers.Adam(a_lr)

c_optimizer = tf.optimizers.Adam(c_lr)

optimizers_list=[a_optimizer, c_optimizer] # список оптимизаторов

Инициализируйте модель алгоритма с переданными параметрами алгоритма

model = AC(net_list, optimizers_list)

'Полный список аргументов для алгоритма'

- net_list: список сетей (значение и политика), используемых в алгоритме, из общих функций или настройки

- optimizers_list: список оптимизаторов для всех сетей и дифференцируемых переменных

- gamma: дисконтированный коэффициент вознаграждения

- action_range: диапазон значений действий

'Запустите процесс обучения с переданными параметрами обучения'

model.learn(env, train_episodes=500, max_steps=200, save_interval=50, mode='train', render=False)

'Полные параметры обучения'

- env: обучающая среда

- train_episodes: общее количество эпизодов для обучения

- test_episodes: общее количество эпизодов для тестирования

- max_steps: максимальное количество шагов для одного эпизода

- save_interval: временные шаги для сохранения весов и построения результатов

- mode: 'train' или 'test'

- render: если true, визуализировать среду

'Протестируйте после обучения'

model.learn(env, test_episodes=100, max_steps=200, mode='test', render=True)

В папке пакета мы предоставляем примеры с явными конфигурациями для каждого алгоритма.

# в корневой папке rlzoo
cd rlzoo
python algorithms/<ALGORITHM_NAME>/run_<ALGORITHM_NAME>.py 
# например: запустить актёр-критик
python algorithms/ac/run_ac.py

Также мы предоставляем интерактивную конфигурацию обучения с Jupyter Notebook и ipywidgets, где вы можете выбрать алгоритм, среду и общие настройки обучения простым нажатием на выпадающие списки и ползунки! Видео, демонстрирующее использование, выглядит следующим образом. Интерактивный режим можно использовать с rlzoo/interactive/main.ipynb, запустив $ jupyter notebook, чтобы открыть его. Proximal Policy Optimization (PPO)

Proximal policy optimization algorithms. Schulman et al., 2017.

Distributed Proximal Policy Optimization (DPPO)

Emergence of locomotion behaviours in rich environments. Heess et al., 2017.

Actor-Critic

Actor-Critic (AC)

Actor-critic algorithms. Konda er al., 2000.

Asynchronous Advantage Actor-Critic (A3C)

Asynchronous methods for deep reinforcement learning. Mnih et al., 2016.

Deep Deterministic Policy Gradient (DDPG)

Continuous Control With Deep Reinforcement Learning, Lillicrap et al., 2016

Twin Delayed DDPG (TD3)

Addressing function approximation error in actor-critic methods. Fujimoto et al., 2018.

Soft Actor-Critic (SAC)

Soft actor-critic algorithms and applications. Haarnoja et al., 2018.

Environments

Choices for EnvType: 'atari', 'box2d', 'classic_control', 'mujoco', 'robotics', 'dm_control', 'rlbench'

  • OpenAI Gym:

    • Atari
    • Box2D
    • Classic control
    • MuJoCo
    • Robotics
  • DeepMind Control Suite

  • RLBench

Некоторые замечания по использованию среды.

Убедитесь, что название среды соответствует типу среды в основном скрипте. Типы сред включают: «atari», «box2d», «classic_control», «mujoco», «robotics», «dm_control», «rlbench».

При использовании DeepMind Control Suite установите пакет dm2gym с помощью команды pip install dm2gym.

При использовании сред RLBench добавьте путь к вашему локальному репозиторию rlbench в Python: export PYTHONPATH=PATH_TO_YOUR_LOCAL_RLBENCH_REPO

Словарь всех различных сред хранится в ./rlzoo/common/env_list.py. Полный список сред в RLBench находится здесь. Установка Vrep->PyRep->RLBench выполняется следующим образом: http://www.coppeliarobotics.com/downloads.html -> https://github.com/stepjam/PyRep -> https://github.com/stepjam/RLBench.

Конфигурации

В следующей таблице перечислены поддерживаемые конфигурации для алгоритмов RL с соответствующими средами в RLzoo.

Алгоритмы Пространство действий Политика Обновление Среды
DQN (double, dueling, PER) Дискретное только Off-policy Atari, Classic Control
AC Дискретное/непрерывное Стохастическое On-policy Все
PG Дискретное/непрерывное Стохастическое On-policy Всё
DDPG Непрерывное Детерминированное Off-policy Classic Control, Box2D, Mujoco, Robotics, DeepMind Control, RLBench
TD3 Непрерывное Детерминированное Off-policy Classic Control, Box2D, Mujoco, Robotics, DeepMind Control, RLBench
SAC Непрерывное Стохастическое Off-policy Classic Control, Box2D, Mujoco, Robotics, DeepMind Control, RLBench
A3C Дискретное/Непрерывное Стохастическое On-policy Atari, Classic Control, Box2D, Mujoco, Robotics, DeepMind Control
PPO Дискретное/Непрерывное Стохастическое On-policy Всё align="center">
Slack Invitation Link

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/TensorLayer-RLzoo.git
git@api.gitlife.ru:oschina-mirror/TensorLayer-RLzoo.git
oschina-mirror
TensorLayer-RLzoo
TensorLayer-RLzoo
master