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
대신 termination
및 truncation
시그니처가 도입된 점에서 중요합니다. 하위 호환성을 허용하기 위해, 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(termination
및 truncation
사용)로 변환하는 함수(gymnasium.utils.step_api_compatibility.convert_to_terminated_truncated_step_api()
) 및 래퍼(gymnasium.wrappers.StepAPICompatibility
)를 모두 제공합니다.