Tensorflow-gpu에서 GPU 안쓰고 돌리기
나는 두대의 컴퓨터가 있다. 한대는 2013년에 60만원을 주고 산, 오래된 데스크탑이고, 한대는 2017년에 산 150만원 대의 게이밍용 노트북이다. 게이밍용 노트북의 성능이 데톱보다는 훨씬 뛰어난 편이라 생각한다.
그런데 오늘 김성훈 교수님의 머신러닝 강의를 들으면서 Tensorflow를 돌렸더니 이게 웬걸 데톱이 게이밍 노트북보다 2배나 빠른 성능을 보이는 것이다.
무척이나 이상해서 여러번 시도해도 달라지지 않았다.
그 이유는 다름아닌, gpu를 사용 유무였다.
나는 gpu를 사용하는 것이 모든 조건에서 빠른 성능을 낼 줄로 예측을 했는데, 실제로는 테스트용 코드들은 gpu를 사용하지 않는 조건에서 더 빠른 연산을 할 수 있는 것으로 보인다.
데톱에는 그냥 tensorflow를 깔았고, 노트북에는 tensorflow-gpu를 깔았으니, 다시 돌리자니 시간이 아깝고, 앞으로 gpu를 필요로 할 텐데 굳이 그럴 필요있나 싶다.
이럴 때는 간단하게 gpu를 안쓰고 cpu 만으로 코드를 돌리도록 유도할 수 있다.
이런 식으로 session을 변형시켜주면 된다.
config = tf.ConfigProto(
device_count = {'GPU': 0}
)
sess = tf.Session(config=config)
출처:준돌 블로그
이렇게 하면, tensorflow-gpu 환경에서도 쉽게 gpu를 제외하고 cpu 만으로 연산을 돌려 볼 수 있다.
댓글
댓글 쓰기