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

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

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은 실무자에게 확률론적 모델링을 위한 최첨단 알고리즘을 제공하도록 설계된 딥 러닝용 시각화 도구입니다. 라이브러리에는 다음이 포함되어 있습니다. 분석 도구 베이지안 분석, 은닉 마르코프 체인, 클러스터링 등이 있습니다.

케 라스

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

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

케 라스

테아 노

Theano는 2007년 Université de Montréal에서 개발한 딥 러닝 라이브러리입니다. Theano와 TensorFlow를 비교하면 빠른 계산을 제공하고 CPU와 GPU 모두에서 실행될 수 있습니다. Theano는 심층 신경망 알고리즘을 훈련하기 위해 개발되었습니다.

Microsoft 인지 툴킷(CNTK)

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

MX 넷

MXnet은 최신 딥러닝 라이브러리입니다. C++, Julia, Python 및 R을 포함한 여러 프로그래밍 언어로 액세스할 수 있습니다. MXNet은 CPU와 GPU 모두에서 작동하도록 구성할 수 있습니다. MXNet에는 최첨단 딥 러닝이 포함되어 있습니다. archiConvolutional Neural Network 및 Long Short-Term Memory와 같은 강의입니다. MXNet은 동적 클라우드 인프라와 조화롭게 작동하도록 구축되었습니다. MXNet의 주요 사용자는 Amazon

CAFFE

Caffe는 Yangqing Jia가 Berkeley에서 박사 과정을 밟고 있을 때 만든 도서관입니다. Caffe와 TensorFlow를 비교하면 Caffe는 C++로 작성되었으며 CPU와 GPU 모두에서 계산을 수행할 수 있습니다. Caffe의 주요 용도는 Convolutional Neural Network입니다. 하지만 2017년에 Facebook은 더 깊은 학습으로 Caffe를 확장했습니다. archiRecurrent Neural Network를 포함한 강의. 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 Visual Studio 아니 아니 아니 아니 아니
케 라스 리눅스, macOS, Windows Python 가능 가능 가능 가능 가능
테아 노 교차 플랫폼 Python 가능 가능 가능 가능 가능
TensorFlow 리눅스, macOS, Windows, Android C++, 파이썬, CUDA 가능 가능 가능 가능 가능
MICROSOFT 인지 툴킷 리눅스, Windows, Docker가 있는 Mac C + + 가능 가능 가능 가능 가능
CAFFE 리눅스, macOS, Windows C + + 가능 가능 가능 가능 가능
MX 넷 리눅스, Windows, macOS, 안드로이드, iOS, 자바스크립트 C + + 가능 가능 가능 가능 가능

평결

TensorFlow는 모든 사람이 액세스할 수 있도록 제작되었기 때문에 최고의 라이브러리입니다. Tensorflow 라이브러리는 다양한 API를 통합하여 대규모 딥 러닝을 구축합니다. archiCNN이나 RNN과 같은 강의. TensorFlow는 그래프 계산을 기반으로 하므로 개발자는 다음을 사용하여 신경망 구성을 시각화할 수 있습니다. 텐소보드. 이 도구는 프로그램을 디버깅하는 데 유용합니다. 마지막으로 Tensorflow는 대규모로 배포되도록 구축되었습니다. CPU와 GPU에서 실행됩니다.

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

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

FOLLOwing 서비스 제공자로서 인기 있는 4개의 DL은 다음과 같습니다.

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

AWS 세이지메이커

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

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

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

Azure 기계 학습 스튜디오

아마도 기계 학습에 대한 가장 친숙한 접근 방식 중 하나는 Azure Machine Learning Studio일 것입니다. 이 솔루션의 중요한 장점은 사전 프로그래밍 지식이 필요하지 않다는 것입니다.

Microsoft Azure Machine Learning Studio는 기계 학습 솔루션을 생성, 교육, 평가 및 배포하기 위한 드래그 앤 드롭 협업 도구입니다. 이 모델은 웹 서비스로 효율적으로 배포되고 Excel과 같은 여러 앱에서 사용될 수 있습니다.

Azure Machine Learning 인터페이스는 대화형입니다.wing 사용자는 요소를 빠르게 끌어서 놓기만 하면 모델을 구축할 수 있습니다.

Azure 기계 학습 스튜디오

모델이 준비되면 개발자는 모델을 저장하고 Azure에 푸시할 수 있습니다. 갤러리 (Gallery) 또는 Azure 마켓플레이스.

Azure Machine Learning은 R에 통합되거나 Python 사용자 정의 내장 패키지.

IBM 왓슨 ML

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

IBM 왓슨 ML

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

평결

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