예제를 실행하기 위해 다음 패키지를 아나콘다 프롬프트에서 설치합니다.
> pip install gym
gym은 손쉽게 강화 학습 환경을 구성할 수 있도록 도와주는 파이썬 패키지입니다. gym 패키지를 이용해서 강화 학습(DQN)에 대한 예제를 진행하겠습니다.
예제는 파이토치 튜토리얼에서 제공하는 코드를 조금 수정한 것입니다. 튜토리얼의 코드와 비교하면서 살펴보거나 직접 조금씩 변경하여 학습하면 빠르게 실력을 향상시킬 수 있습니다. 먼저 필요한 라이브러리(패키지)를 호출합니다.
코드 12-1 라이브러리 호출
import gym
import math
import random
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from collections import namedtuple ------ 튜플에 담긴 요소들의 인덱스와 값으로 모두 접근 가능
from itertools import count ------ 무한 루프 사용을 위한 라이브러리
from PIL import Image ------ 이미지 처리를 위한 라이브러리
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
import torchvision.transforms as T
env = gym.make('CartPole-v1').unwrapped ------ cartpole이라는 강화 학습 환경을 불러옵니다.
plt.ion()
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")