Основи 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.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
What are some popular environments available in Gymnasium?
Can you explain the difference between terminated and truncated in more detail?
How do I integrate Gymnasium with TensorFlow or PyTorch?
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.
Дякуємо за ваш відгук!