Основи Gymnasium
Gymnasium — це інструментарій з відкритим кодом, призначений для розробки та оцінювання агентів з підкріпленням (RL). Він надає набір стандартних середовищ для тестування алгоритмів і ефективного навчання агентів.
Основні характеристики
- Стандартизований API: забезпечує сумісність між різними середовищами;
- Різноманіття середовищ: підтримує класичні задачі керування, ігри Atari та симуляції робототехніки;
- Легка інтеграція: сумісний з фреймворками глибокого навчання, такими як TensorFlow і PyTorch.
Робочий процес
Типовий робочий процес у Gymnasium виглядає так:
1. Імпорт бібліотеки
import gymnasium as gym
Після того, як оригінальна бібліотека gym
була припинена, тепер рекомендується використовувати gymnasium
— активно підтримуваний та розвиваний форк gym. Незважаючи на зміну назви, бібліотеку все ще часто імпортують з псевдонімом gym
для зворотної сумісності та зручності.
2. Створення середовища
env = gym.make("CartPole-v1")
Функція gym.make()
створює середовище за його унікальним ідентифікатором (наприклад, "CartPole-v1"
). Також можна передавати додаткові параметри конфігурації залежно від вимог середовища.
3. Скидання середовища
observation, info = env.reset()
Перед взаємодією із середовищем необхідно скинути його до початкового стану за допомогою env.reset()
. Це повертає:
observation
: початковий стан середовища;info
: допоміжні дані, які можуть містити метадані або специфічну конфігурацію стану.
4. Взаємодія із середовищем
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
У першому рядку випадкова дія вибирається з простору дій за допомогою env.action_space.sample()
. Простір дій визначає набір усіх можливих дій, які агент може виконати у середовищі. Крім того, середовище надає простір спостережень, який можна отримати через env.observation_space
і який представляє набір усіх можливих спостережень (станів), з якими може зіткнутися агент.
У другому рядку обрана дія передається у env.step(action)
, яка виконує дію та повертає наступне:
observation
: новий стан агента після виконання дії;reward
: винагорода, отримана за виконану дію;terminated
: булевий показник, що вказує, чи завершено епізод (тобто завдання виконано);truncated
: булевий показник, що вказує, чи було епізод передчасно зупинено (через час або інші обмеження);info
: додаткова діагностична інформація, часто використовується для налагодження або логування.
5. Закриття середовища
env.close()
Якщо ваше середовище використовує зовнішні ресурси (наприклад, вікна візуалізації або симуляції), його слід закрити за допомогою env.close()
.
Якщо ви бажаєте дізнатися більше про можливості, які надає бібліотека Gymnasium, відвідайте their website.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.7
Основи Gymnasium
Свайпніть щоб показати меню
Gymnasium — це інструментарій з відкритим кодом, призначений для розробки та оцінювання агентів з підкріпленням (RL). Він надає набір стандартних середовищ для тестування алгоритмів і ефективного навчання агентів.
Основні характеристики
- Стандартизований API: забезпечує сумісність між різними середовищами;
- Різноманіття середовищ: підтримує класичні задачі керування, ігри Atari та симуляції робототехніки;
- Легка інтеграція: сумісний з фреймворками глибокого навчання, такими як TensorFlow і PyTorch.
Робочий процес
Типовий робочий процес у Gymnasium виглядає так:
1. Імпорт бібліотеки
import gymnasium as gym
Після того, як оригінальна бібліотека gym
була припинена, тепер рекомендується використовувати gymnasium
— активно підтримуваний та розвиваний форк gym. Незважаючи на зміну назви, бібліотеку все ще часто імпортують з псевдонімом gym
для зворотної сумісності та зручності.
2. Створення середовища
env = gym.make("CartPole-v1")
Функція gym.make()
створює середовище за його унікальним ідентифікатором (наприклад, "CartPole-v1"
). Також можна передавати додаткові параметри конфігурації залежно від вимог середовища.
3. Скидання середовища
observation, info = env.reset()
Перед взаємодією із середовищем необхідно скинути його до початкового стану за допомогою env.reset()
. Це повертає:
observation
: початковий стан середовища;info
: допоміжні дані, які можуть містити метадані або специфічну конфігурацію стану.
4. Взаємодія із середовищем
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
У першому рядку випадкова дія вибирається з простору дій за допомогою env.action_space.sample()
. Простір дій визначає набір усіх можливих дій, які агент може виконати у середовищі. Крім того, середовище надає простір спостережень, який можна отримати через env.observation_space
і який представляє набір усіх можливих спостережень (станів), з якими може зіткнутися агент.
У другому рядку обрана дія передається у env.step(action)
, яка виконує дію та повертає наступне:
observation
: новий стан агента після виконання дії;reward
: винагорода, отримана за виконану дію;terminated
: булевий показник, що вказує, чи завершено епізод (тобто завдання виконано);truncated
: булевий показник, що вказує, чи було епізод передчасно зупинено (через час або інші обмеження);info
: додаткова діагностична інформація, часто використовується для налагодження або логування.
5. Закриття середовища
env.close()
Якщо ваше середовище використовує зовнішні ресурси (наприклад, вікна візуалізації або симуляції), його слід закрити за допомогою env.close()
.
Якщо ви бажаєте дізнатися більше про можливості, які надає бібліотека Gymnasium, відвідайте their website.
Дякуємо за ваш відгук!