다음은 출력 결과에서 한글이 깨지는 현상을 방지하기 위한 코드를 작성합니다. 경로 변경 없이 그대로 사용해야 합니다.

    코드 12-2 한글 깨짐 방지

    from matplotlib import font_manager
    font_fname = 'C:/Windows/Fonts/malgun.ttf'
    font_family = font_manager.FontProperties(fname=font_fname).get_name()
    plt.rcParams["font.family"] = font_family

    DQN은 리플레이 메모리를 사용합니다. 리플레이 메모리에 에이전트가 관찰한 상태 전이(state transition)2, 상태, 행동 등을 저장하여 나중에 재사용합니다.

    코드 12-3 리플레이 메모리

    Transition = namedtuple('Transition',
                            ('state', 'action', 'next_state', 'reward')) ------ ①
    
    class ReplayMemory(object): ------ ②
        def __init__(self, capacity):
            self.capacity = capacity
            self.memory = []
            self.position = 0
    
        def push(self, *args):
            if len(self.memory) < self.capacity:
                self.memory.append(None)
            self.memory[self.position] = Transition(*args)
            self.position = (self.position + 1) % self.capacity
    
        def sample(self, batch_size):
            return random.sample(self.memory, batch_size)
    
        def __len__(self):
            return len(self.memory)
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.