- TF-Agents 모듈 임포트하기
- TF-Agents 환경 준비하기
- TF-Agents 환경 살펴보기
- TF-Agents 행동 반영하기
- TF-Agents 환경 Wrapper 사용하기
- TF-Agents 에이전트 구성하기
- TF-Agents 정책 다루기
- TF-Agents 정책 평가하기
- TF-Agents 데이터 수집하기
- TF-Agents 에이전트 훈련하기
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
TF-Agents 환경 준비하기¶
강화학습은 기본적으로 환경 (Environment)과 에이전트 (Agent)의 상호작용을 통해서 이루어집니다.
이 페이지에서는 TF-Agents에서 강화학습의 환경 (Environment)을 준비하는 과정에 대해 소개합니다.
■ Table of Contents
1) 환경 불러오기¶
예제¶
import tf_agents
from tf_agents.environments import suite_gym
env_name = 'CartPole-v0'
env = suite_gym.load(env_name)
print(env)
env.reset()
<tf_agents.environments.wrappers.TimeLimit object at 0x7fbdea78e310>
tf_agents.environments.guite_gym 모듈은 Gym 환경을 불러오기 위한 함수의 모음입니다.
load() 함수에 Gym 환경의 이름 ‘CartPole-v0’을 입력하면, 해당하는 환경 (env)을 불러옵니다.
TF-Agents 환경의 reset() 메서드는 환경을 재설정 (reset)하고 TimeStep 객체를 반환합니다.
즉, reset() 메서드가 호출될 때마다 임의의 상태를 갖도록 환경이 초기화됩니다.
2) TimeStep 확인하기¶
예제1¶
import tf_agents
from tf_agents.environments import suite_gym
env_name = 'CartPole-v0'
env = suite_gym.load(env_name)
initial_time_step = env.reset()
print(initial_time_step)
<class 'tf_agents.trajectories.time_step.TimeStep'>
TimeStep(step_type=array(0, dtype=int32), reward=array(0., dtype=float32), discount=array(1., dtype=float32), observation=array([ 0.01331848, -0.02692638, -0.02431821, 0.04527872], dtype=float32))
첫번째 TimeStep 객체를 출력했습니다.
TimeStep 객체는 step_type, reward, discount, observation과 같은 속성들을 포함하고 있음을 알 수 있습니다.
예제2¶
import tf_agents
from tf_agents.environments import suite_gym
import PIL.Image
env_name = 'CartPole-v0'
env = suite_gym.load(env_name)
initial_time_step = env.reset()
print(initial_time_step)
im = PIL.Image.fromarray(env.render())
im.show()
TimeStep(step_type=array(0, dtype=int32), reward=array(0., dtype=float32), discount=array(1., dtype=float32), observation=array([0.00649969, -0.0046049, 0.01843259, 0.04577447], dtype=float32))
render()는 이 환경의 상태를 렌더링해서 볼 수 있도록 합니다.
TimeStep의 observation 속성에 해당하는 상태가 아래와 같은 이미지로 나타납니다.
이전글/다음글
이전글 : TF-Agents 모듈 임포트하기
다음글 : TF-Agents 환경 살펴보기