사이킷런(scikit-learn)과 텐서플로우(TensorFlow) 파이토치(PyTorch) 케라스(Kreas)대해서 알아보겠습니다.
비교적 텐서플로우에 대해서는 많이 들어보셨을 것 같습니다.
텐서플로우는 2015년에 오픈 소스로 공개된 구글의 러신러닝 시스템입니다. 복잡한 머신 러닝 작업을 텐서플로우를 사용하여 간단하게 구현할 수 있습니다.
사이킷런은 머신 러닝 라이브러리 중에 하나인데, 학습하고 사용하기 쉬운데, 딥러닝과 강화학습 라이브러리를 지원하지 않습니다.
파이토치란 facebook에서 만든 딥러닝 연구 플랫폼입니다. 코드를 조금 간결하게 쓸 수 있습니다.
케라스란 오픈소스 신경망 라이브러리이고, 텐서플로우, MXNet, Deeplearning4j 등을 백엔드로 사용하여 AI코딩을 할 수 있게 해줍니다.
그렇다면 얘네들의 장단점을 알아볼까요?
장점 | 단점 | ||
텐서플로우 | 텐서보드(TensorBoard)를 통해서 파라미터 변화 양상이나 DNN의 구조를 알 수 있습니다. | 메모리를 효율적으로 사용하지 못합니다. | |
사이킷런 | 탄탄한 학습 알고리즘을 가지고 있습니다. | 딥러닝이나 강화 학습은 다루지 않습니다. | |
파이토치 | 간단하고 직관적으로 학습을 할 수 있습니다. | 텐서플로우에 비해 사용자층이 얕고 예제를 구하기 힘들 수 있습니다. | |
케라스 | 배우기 쉽고 모델을 구축하기 쉽습니다. | 오류가 발생할 경우 케라스 자체의 문제인지 아니면 backend쪽의 문제인지 알 수 없는 문제가 있습니다. |
참조
[1] - https://ebbnflow.tistory.com/118
[2] - https://ydseo.tistory.com/40
[3] - https://m.blog.naver.com/kimkanu/221116429423
'개발 > AI 정리' 카테고리의 다른 글
Random Forest (0) | 2020.02.12 |
---|---|
Regularized Linear Regression (0) | 2020.02.10 |
강화학습이란 (0) | 2020.01.28 |
회귀(regression)란 무엇인가? (0) | 2020.01.27 |
머신러닝과 딥러닝에 대해서 (0) | 2020.01.22 |