본문 바로가기

2017/013

TensorFlow Extreme Performance Tuning 텐서플로우는 잘못사용하면 정말 정말 정말 느리다. 기본적으로 주어지는 공식 예제는 속도 최적화를 전혀 고려하지 않은 예제이기 때문에, 내가 아무리 비싸고 좋은 GPU를 사용하더라도, 저렴한 GPU에 비해 심각하게 느릴 수 있다. 이에 대한 여러가지 분석과 해결법을 정리해본다. 1. GPU Utilization 분석 먼저 내가 만든 TensorFlow 모델이 과연 얼마나 최고의 효율로 GPU를 사용해서 돌아가고 있는지 확인하자. 그래서 nvidia-smi 혹은 nvidia-smi -a 를 입력하여 Volatile GPU-util 이라는 항목을 볼 수 있는데 이것의 의미는 최근 1 초동안 busy 상태였던 core의 비율을 의미한다. http://stackoverflow.com/questions/508681.. 2017. 1. 20.
Python game programming. Pygame + PyBox2D Python으로 2차원 게임 환경을 구현하여 강화학습을 실험하기http://projectlog.ferranfabregas.info/python-box-2d-pygame-demo-bumper-cars/ 1. Pygame : 파이썬 게임 엔진, rendering을 담당한다.(필요에 따라 pygame 대신 opencv나 pyglet등으로 대체 가능)sudo pip install pygame 2. PyBox2D : 파이썬 게임 물리 엔진swig 최신 버전 설치 : http://www.linuxfromscratch.org/blfs/view/7.6/general/swig.htmlsudo apt-get install libpcre3 libpcre3-dev wget https://downloads.sourceforge.. 2017. 1. 16.
On-policy와 Off-policy, Policy Gradient, Importance Sampling # On-policy : 학습하는 policy와 행동하는 policy가 반드시 같아야만 학습이 가능한 강화학습 알고리즘. ex) Sarsa on-policy의 경우 이론상 1번이라도 학습을 해서 policy improvement를 시킨 순간, 그 policy가 했던 과거의 experience들은 모두 사용이 불가능하다. 즉 매우 데이터 효율성이 떨어진다. 한 번 exploration해서 얻은 experience를 학습하고나면 그냥은 재사용이 불가능하다.(Importance sampling등을 해야만 재사용가능 함.) # Off-policy : 학습하는 policy와 행동하는 policy가 반드시 같지 않아도 학습이 가능한 알고리즘. ex) Q-learning off-policy는 현재 학습하는 polic.. 2017. 1. 3.