오뚝이개발자

[Keras] 케라스의 내부 시스템 구조 본문

AI/케라스 창시자에게 배우는 딥러닝

[Keras] 케라스의 내부 시스템 구조

땅어 2021. 10. 5. 23:06
728x90
300x250

 

 

케라스의 구조가 내부적으로 어떻게 되어있는지를 파악하는 것은 본인이 어느 위치에서 작업을 하고 있는가를 파악하는데 중요하다. 오늘은 케라스의 시스템이 내부적으로 어떻게 구성되어 있는지에 대해 알아보자! 아래 그림은 케라스의 내부 구조를 도식화 한 것이다.

중앙의 큰 사각형은 하나의 가상환경(virtual environment)이다. 이러한 가상환경은 user가 만들기에 따라 여러개 있을 수도 있다.(virtual env1, virtual env2...) 실제로 우리가 직접 다루는 부분은 바로 python, keras 부분이다. 사실 케라스를 사용하면 그 아랫단인 tensorflow까지도 잘 만지지 않는다.(디테일한 텐서 level에서의 설정이 필요한 경우가 아니고서는 말이다.) 그 아랫단인 cuDNN, CUDA까지도 사실 직접적으로 만질 일은 거의 없다.(이 부분만을 포커싱하여 연구하는 분야도 있긴 하다.)

그 아랫단은 GPU와 CPU, 그리고 저장장치인 HDD, SSD로 이루어져 있다. 사실 우리가 딥러닝 모델을 설계하며 데이터를 저장해두거나 내려받는데 이 때 데이터들은 HDD나 SSD에 저장이 된다. 그러나 이러한 저장장치들을 CPU하고만 직접적으로 소통하기 때문에 GPU에서는 CPU와 소통해서 이러한 데이터에 접근해 이용할 수 있는 시스템이 필요하다.

 

 

 

728x90
300x250
Comments