Gym과의 호환성

Gymnasium은 다양한 환경 구현을 위한 여러 호환성 방법을 제공합니다.

OpenAI Gym 환경 로딩

OpenAI Gym에만 등록되어 있고 Gymnasium에는 등록되지 않은 환경의 경우, Gymnasium v0.26.3 이상에서는 특별 환경 또는 래퍼를 통해 가져올 수 있습니다. "GymV26Environment-v0" 환경은 Gymnasium v0.26.3에 도입되었으며, 다른 관련 kwarg 환경 kwarg와 함께 env_name 인수를 통해 Gym 환경을 가져올 수 있습니다. 래퍼를 통해 변환을 수행하려면, 환경 자체를 env kwarg를 통해 래퍼 :class:`EnvCompatibility`에 전달할 수 있습니다.

import gymnasium as gym

env = gym.make("GymV26Environment-v0", env_id="GymEnv-v1")

Gym v0.21 환경 호환성

많은 환경이 최근 Gym 변경 사항, 특히 v0.21 이후의 변경 사항으로 업데이트되지 않았습니다. 이 업데이트는 이전에 사용된 done 대신 terminationtruncation 시그니처가 도입된 점에서 중요합니다. 하위 호환성을 허용하기 위해, Gym 및 Gymnasium v0.26 이상에서는 v0.21 API 호환 환경을 v0.26+와 호환되는 환경으로 자동 변환하는 make() 호출 시 apply_api_compatibility kwarg를 포함합니다.

import gym

env = gym.make("OldV21Env-v0", apply_api_compatibility=True)

또한, Gymnasium에서는 env_id에 대해 gym.make를 호출하는 호환성을 위한 전문 환경을 제공합니다.

import gymnasium

env = gymnasium.make("GymV21Environment-v0", env_id="CartPole-v1", render_mode="human")
# 또는
env = gymnasium.make("GymV21Environment-v0", env=OldV21Env())

Step API 호환성

환경이 (이전) done 스텝 API를 구현하는 경우, Gymnasium은 이전 스텝 API(done 사용)를 새 스텝 API(terminationtruncation 사용)로 변환하는 함수(gymnasium.utils.step_api_compatibility.convert_to_terminated_truncated_step_api()) 및 래퍼(gymnasium.wrappers.StepAPICompatibility)를 모두 제공합니다.