텐서플로우 vs 케라스 간단비교

인공지능(AI) 2020. 1. 17. 13:42

텐서플로우 vs 케라스 간단비교


인공지능 분야를 공부를 시작하게 되면 자연스럽게 접하게 되는 라이브러리가 있습니다. 바로 텐서플로우인데요. 구글에서 개발해서 유명하죠. 다음으로 많이 듣게 되는게 케라스 인데요. 저도 처음에 이 둘의 차이가 뭔지 몰라서 햇갈렸습니다. 텐서플로우 케라스 차이를 좀 알아보려고 합니다. 아주 간단한 질의 응답으로 케라스 텐서플로우 비교를 통해 알아보도록 하겠습니다. 케라스 vs 텐서플로우 시작합니다.



■ 둘은 무슨 사이이냐? Tensorflow는 잘 알려진 것처럼 구글에서 개발하고 오픈소스로 공개한 머신러닝 라이브러리입니다. Keras 역시 라이브러리이지만 Keras는 Tensorflow위에서 동작하는 라이브러리 입니다. ■ 왜 Tensorflow가 있는데 그 위에서 동작하는 Keras가 필요한가? Tensorflow는 훌륭한 라이브러리이지만 아직 사용을 하기에는 어려운 부분이 많습니다. 특히 처음 머신러닝을 접하는 사람이라면 더욱 그렇겠죠. 반면 Keras는 사용자 친화적으로 개발되었기 때문에 매우 사용이 편합니다. 정말 간단한 신경망의 경우 겨우 몇 줄 만으로 만들 수가 있습니다. ■ 그럼 Keras만 사용해도 충분한가? 비교적 단순한 신경망을 구성하거나 기존의 갖추어진 기능만을 사용한다면 Keras만으로 충분할 수 있습니다. 하지만 역시 Tensorflow를 사용하는 쪽이 훨씬 더 디테일한 조작이 가능합니다. 따라서 사용 목적에 따라서 어느쪽을 사용할지 선택하는 것이 좋습니다. ■ 그럼 언제 Keras를 사용해야 하는가? 만약 처음 머신러닝을 시작하고 매우 간단한 것을 제작하거나 빠른 시간 내에 프로토타이핑을 하고자 한다면 Keras가 훨씬 좋은 선택일 수 있습니다. ■ 그럼 언제 Tensorflow를 사용해야 하는가? 만약 기존의 있던 기능만을 사용할 것이 아니라 새로운 방식을 이용할 가능성이 높다면 Tensorflow를 사용하는 것이 좋습니다. Tensorflow에서는 Threading이나 Queue 등의 메커니즘을 훨씬 디테일하게 사용할 수 있고 내부 구조를 확인할 수 있는 디버거를 사용할 수도 있습니다. 따라서 만약 신경망을 유심히 관찰하고 연구 개발을 해야 하는 경우라면 Tensorflow를 사용하는 것이 훨씬 좋습니다. ■ 더 좋은 옵션은? Keras가 Tensorflow 1,2에서부터 통합되었다고 합니다. 따라서 tf.keras로 텐서 플로우 안에서 케라스를 사용할 수 있습니다. 따라서 주요 틀을 th.keras로 구현하고 순순한 Tensorflow로 그 내용을 채워넣는 방법을 사용하는 것이 가장 좋은 옵션이 될 수 있습니다.