TensorFlow vs Theano vs Torch vs Keras: 딥 러닝 라이브러리

인공 지능은 2016년부터 인기를 얻고 있으며 대기업의 20%가 비즈니스에 AI를 사용하고 있습니다(McKinsey) 신고, 2018). 동일한 보고서에 따르면 AI는 산업 전반에 걸쳐 상당한 가치를 창출할 수 있습니다. 예를 들어 은행업에서는 AI의 잠재력을 다음과 같이 추정합니다. $300억, 소매업에서는 그 숫자가 폭등하다 $600 억.

AI의 잠재적 가치를 실현하려면 기업은 올바른 딥 러닝 프레임워크를 선택해야 합니다. 이 튜토리얼에서는 딥 러닝 작업을 수행하는 데 사용할 수 있는 다양한 라이브러리에 대해 알아봅니다. 일부 라이브러리는 수년 동안 존재해 왔으며 TensorFlow와 같은 새로운 라이브러리는 최근 몇 년 동안 주목을 받았습니다.

8 최고의 딥러닝 라이브러리/프레임워크

이 목록에서는 최고의 딥 러닝 프레임워크를 비교합니다. 모두 오픈 소스이며 데이터 과학자 커뮤니티에서 인기가 있습니다. 또한 인기 있는 ML 서비스 제공업체를 비교합니다.

토치

Torch는 오래된 오픈소스 머신 러닝 라이브러리입니다. 처음 출시된 것은 15년 전입니다. 주요 프로그래밍 언어는 LUA이지만 C로 구현되어 있습니다. PyTorch와 TensorFlow를 비교하면 딥 러닝을 포함한 머신 러닝 알고리즘을 위한 방대한 라이브러리를 지원합니다. 병렬 계산을 위한 CUDA 구현을 지원합니다.

Torch 딥 러닝 도구는 Facebook, Google, Twitter, Nvidia 등과 같은 대부분의 주요 연구실에서 사용됩니다. Torch에는 도서관이 있습니다. Python 파이토치(Pytorch)라는 이름을 붙였습니다.

Infer.net

Infer.net은 다음에 의해 개발되고 유지됩니다. Microsoft. Infer.net은 베이지안 통계에 초점을 맞춘 라이브러리입니다. Infer.net은 확률적 모델링을 위한 최첨단 알고리즘을 실무자에게 제공하도록 설계된 딥 러닝을 위한 시각화 도구입니다. 라이브러리에는 다음이 포함됩니다. 분석 도구 베이지안 분석, 은닉 마르코프 체인, 클러스터링 등이 있습니다.

케 라스

케라스는 Python 딥러닝을 위한 프레임워크. 어떤 딥러닝 알고리즘을 구성하는데 편리한 라이브러리입니다. Keras의 장점은 동일한 것을 사용한다는 것입니다. Python CPU 또는 GPU에서 실행되는 코드입니다. 게다가 코딩 환경은 순수하며 컴퓨터 비전, 텍스트 인식 등을 위한 최첨단 알고리즘을 훈련할 수 있습니다.

Keras는 Google의 연구원인 François Chollet이 개발했습니다. Keras는 CERN, Yelp, Square, Google과 같은 유명 조직에서 사용되고 있습니다. Netflix, 우버.

케 라스

테아 노

Theano는 2007년 몬트리올 대학에서 개발한 딥 러닝 라이브러리입니다. Theano와 TensorFlow를 비교하면, 빠른 계산을 제공하고 CPU와 GPU에서 모두 실행할 수 있습니다. Theano는 딥 신경망 알고리즘을 훈련하기 위해 개발되었습니다.

Microsoft 인지 툴킷(CNTK)

Microsoft 이전에 CNTK로 알려진 툴킷은 에서 개발한 딥러닝 라이브러리입니다. Microsoft. 에 따르면 Microsoft, 도서관은 시장에서 가장 빠른 것 중 하나입니다. Microsoft 툴킷은 오픈 소스 라이브러리이지만 Microsoft 다음과 같은 제품에 광범위하게 사용하고 있습니다. Skype, Cortana, Bing 및 Xbox. 툴킷은 다음에서 모두 사용할 수 있습니다. Python and C++.

MX 넷

MXnet은 최신 딥러닝 라이브러리입니다. 다음을 포함한 여러 프로그래밍 언어로 액세스할 수 있습니다. C++, 줄리아, Python 그리고 R. MXNet은 CPU와 GPU에서 모두 작동하도록 구성할 수 있습니다. MXNet에는 합성곱 신경망 및 장단기 메모리와 같은 최첨단 딥 러닝 아키텍처가 포함되어 있습니다. MXNet은 다음에서 작동하도록 빌드되었습니다. harmony 다이나믹한 클라우드 인프라로 MXNet의 주요 사용자는 Amazon

CAFFE

Caffe는 Yangqing Jia가 Berkeley에서 박사 과정을 밟고 있을 때 만든 도서관입니다. Caffe와 TensorFlow를 비교하면 Caffe는 다음과 같이 작성되었습니다. C++ CPU와 GPU에서 모두 계산을 수행할 수 있습니다. Caffe의 주요 용도는 합성곱 신경망입니다. 그러나 2017년에 Facebook은 순환 신경망을 포함하여 더 깊은 학습 아키텍처로 Caffe를 확장했습니다. Caffe는 학계와 스타트업에서 사용되지만 Yahoo!와 같은 일부 대기업에서도 사용됩니다.

TensorFlow

TensorFlow는 Google 오픈소스 프로젝트입니다. TensorFlow는 요즘 가장 유명한 딥러닝 라이브러리입니다. 2015년 말 대중에게 공개됐다.

TensorFlow

TensorFlow는 다음에서 개발되었습니다. C++ 그리고 편리하다 Python API이지만 C++ API도 사용할 수 있습니다. 에어버스, 구글 등 유명 기업 IBM 등이 TensorFlow를 사용하여 딥러닝 알고리즘을 만들고 있습니다.

TensorFlow 대 Theano 대 Torch 대 Keras 대 infer.net 대 CNTK 대 MXNet 대 Caffe: 주요 차이점

도서관 플랫폼 쓰여진 쿠다 지원 병렬 실행 훈련된 모델이 있음 RNN 현지 시간
토치 리눅스, macOS, Windows 루아 가능 가능 가능 가능 가능
추론.Net 리눅스, macOS, Windows 비주얼 스튜디오 아니 아니 아니 아니 아니
케 라스 리눅스, macOS, Windows Python 가능 가능 가능 가능 가능
테아 노 교차 플랫폼 Python 가능 가능 가능 가능 가능
TensorFlow 리눅스, macOS, Windows, Android C++, Python, 쿠다 가능 가능 가능 가능 가능
마이크로소프트 인지 툴킷 리눅스, Windows, Docker가 있는 Mac C++ 가능 가능 가능 가능 가능
CAFFE 리눅스, macOS, Windows C++ 가능 가능 가능 가능 가능
MX 넷 리눅스, Windows, macOS, Android, IOS, Javascript C++ 가능 가능 가능 가능 가능

평결

TensorFlow는 모든 사람이 접근할 수 있도록 만들어졌기 때문에 모든 라이브러리 중 가장 좋은 라이브러리입니다. TensorFlow 라이브러리는 CNN이나 RNN과 같은 대규모 딥 러닝 아키텍처를 구축하기 위해 다양한 API를 통합합니다. TensorFlow는 그래프 계산을 기반으로 하며 개발자가 신경망의 구성을 시각화할 수 있도록 합니다. 텐소보드. 이 도구는 프로그램을 디버깅하는 데 유용합니다. 마지막으로 Tensorflow는 대규모로 배포되도록 빌드되었습니다. CPU와 GPU에서 실행됩니다.

Tensorflow는 다른 딥 러닝 라이브러리에 비해 GitHub에서 가장 큰 인기를 얻고 있습니다.

서비스로서의 기계 학습 비교

다음은 DL 서비스 제공업체 중 인기 있는 4개입니다.

Google Cloud ML

Google은 Cloud AutoML에서 사용 가능한 개발자 사전 학습 모델을 제공합니다. 이 솔루션은 강력한 배경 지식이 없는 개발자를 위해 존재합니다. 기계 학습. 개발자는 자신의 데이터에 대해 Google의 사전 학습된 최첨단 모델을 사용할 수 있습니다. 이를 통해 개발자는 단 몇 분 만에 모든 모델을 교육하고 평가할 수 있습니다.

Google은 현재 컴퓨터 비전, 음성 인식, 번역 및 NLP를 위한 REST API를 제공합니다.

Google Cloud ML

사용 Google Cloud를 사용하면 TensorFlow, Scikit-learn, XGBoost 또는 Keras를 기반으로 기계 학습 프레임워크 빌드를 교육할 수 있습니다. Google Cloud 머신러닝은 클라우드 전반에 걸쳐 모델을 훈련합니다.

Google 클라우드 컴퓨팅을 사용하는 이점은 머신 러닝을 프로덕션에 배포하는 것이 간단하다는 것입니다. Docker 컨테이너를 설정할 필요가 없습니다. 게다가 클라우드가 인프라를 관리합니다. CPU, GPU, TPU로 리소스를 할당하는 방법을 알고 있습니다. 병렬 계산으로 학습을 더 빠르게 만듭니다.

AWS 세이지메이커

주요 경쟁자 Google Cloud is Amazon 구름, AWS. Amazon 개발 Amazon SageMaker를 사용하면 데이터 과학자와 개발자가 모든 기계 학습 모델을 구축, 훈련하고 프로덕션에 도입할 수 있습니다.
SageMaker는 다음과 같은 방식으로 제공됩니다. Jupyter Notebook에는 가장 많이 사용되는 기계 학습 라이브러리인 TensorFlow, MXNet, Scikit-learn이 포함되어 있습니다. SageMaker로 작성된 프로그램은 Docker 컨테이너에서 자동으로 실행됩니다. Amazon 교육 및 배포를 최적화하기 위해 리소스 할당을 처리합니다.

AWS 세이지메이커

Amazon 애플리케이션에 인텔리전스를 추가하기 위해 개발자에게 API를 제공합니다. 어떤 경우에는 클라우드에 사전 훈련된 강력한 모델이 있는 동안 처음부터 새로운 모델을 구축하여 바퀴를 재발명할 필요가 없습니다. Amazon 컴퓨터 비전, 대화형 챗봇 및 언어 서비스를 위한 API 서비스를 제공합니다.

사용 가능한 세 가지 주요 API는 다음과 같습니다.

  • Amazon 인식: 앱에 이미지 및 비디오 인식 기능 제공
  • Amazon 이해: 예를 들어 금융 문서의 합법성을 확인하는 프로세스를 자동화하기 위해 텍스트 마이닝 및 신경 언어 처리를 수행합니다.
  • Amazon 법률: 앱에 챗봇 추가

Azure 머신러닝 스튜디오

아마도 기계 학습에 대한 가장 친숙한 접근 방식 중 하나는 다음과 같습니다. Azure 머신러닝 스튜디오. 이 솔루션의 중요한 장점은 사전 프로그래밍 지식이 필요하지 않다는 것입니다.

Microsoft Azure Machine Learning Studio는 머신 러닝 솔루션을 만들고, 훈련하고, 평가하고, 배포하기 위한 드래그 앤 드롭 협업 도구입니다. 이 모델은 웹 서비스로 효율적으로 배포할 수 있으며 Excel과 같은 여러 앱에서 사용할 수 있습니다.

Azure 머신 러닝 인터페이스는 상호 작용이 가능하여 사용자는 요소를 끌어서 놓는 것만으로 빠르게 모델을 구축할 수 있습니다.

Azure 머신러닝 스튜디오

모델이 준비되면 개발자는 모델을 저장하고 다음 위치로 푸시할 수 있습니다. Azure 갤러리 (Gallery) or Azure 시장.

Azure 기계 학습은 R에 통합될 수 있습니다. Python 사용자 정의 내장 패키지.

IBM Watson ML

Watson Studio는 데이터에서 가치와 인사이트를 추출할 수 있는 간소화된 프로세스를 통해 데이터 프로젝트를 단순화하여 비즈니스를 더욱 스마트하고 빠르게 만들 수 있습니다. Watson Studio는 모델 구축 및 훈련, 데이터 준비 및 분석, 통찰력 공유를 위한 사용하기 쉬운 협업 데이터 과학 및 기계 학습 환경을 한 곳에서 제공합니다. Watson Studio는 드래그 앤 드롭 코드로 사용이 쉽습니다.

IBM Watson ML

Watson Studio는 Tensorflow, Keras, Pytorch, Caffe와 같은 가장 널리 사용되는 프레임워크 중 일부를 지원하며 Nvidia의 최신 GPU에 딥 러닝 알고리즘을 배포하여 모델링을 가속화할 수 있습니다.

평결

저희 관점에서는 Google 클라우드 솔루션이 가장 추천되는 솔루션입니다. Google 클라우드 솔루션은 데이터 저장 및 머신 러닝 솔루션에 대해 AWS보다 최소 30% 저렴한 가격을 제공합니다. Google은 AI를 민주화하기 위해 훌륭한 일을 하고 있습니다. 오픈 소스 언어인 TensorFlow를 개발하여 최적화했습니다. 데이터웨어 하우스 연결은 데이터 시각화, 데이터 분석에서 기계 학습에 이르기까지 엄청난 도구를 제공합니다. 게다가 Google 콘솔은 AWS나 AWS보다 인체공학적이며 훨씬 더 포괄적입니다. Windows.