머신러닝 프레임워크 Top 10

머신러닝 (ML)의 세계를 탐구할 때 많은 대안에서 하나의 프레임워크를 선택하는 것이 위협적인 작업이 될 수 있습니다. 이미 이름을 잘 알고있을 수도 있지만 의사 결정 과정에서 옵션을 평가하는 것이 좋습니다. 특히 초보자인 경우 매우 혼란 스러울 수있는 머신러닝 세계에는 다양한 프레임 워크, 라이브러리, 응용 프로그램, 툴킷 및 데이터세트가 있습니다. 인기있는 ML 프레임 워크에 익숙해지면 애플리케이션을 빌드 할 때 선택해야합니다. 이것이 상위 10대 머신러닝 프레임워크 목록을 작성한 이유입니다.

1. Tensorflow
Tensorflow는 다양한 언어 이해 및 지각 작업을 위해 Google Brain Team에서 개발했습니다. 이 오픈 소스 프레임워크는 심층 신경 네트워크 및 머신러닝에 대한 광범위한 연구에 사용되고 있습니다. Google Brain의 두 번째 머신러닝 프레임워크이기 때문에 대부분의 새 CPU 및 GPU와 호환됩니다. Gmail, 음성 인식, Google 포토 및 Google 검색과 같이 일상적으로 사용하는 인기있는 Google 서비스에는 Tensorflow가 탑재되어 있습니다.

Tensorflow는 데이터 흐름 그래프를 사용하여 복잡한 수치 작업을 수행합니다. 수학적 계산은 엣지와 노드가 포함된 그래프를 사용하여 정교화됩니다. 이 노드는 조작을 구현하는 데 사용되며 데이터가 공급되는 엔드 포인트로 작동 할 수도 있습니다. 엣지는 또한 다른 노드 간의 입/출력 연관을 나타냅니다.

2. Caffe
Caffe는 더 나은 표현, 속도 및 모듈성을 중심으로 설계된 머신러닝 프레임워크입니다. CNN (Convolutional Neural Networks)을 활용하여 컴퓨터 비전/이미지 분류용으로 개발되었습니다. Caffe는 구현하기 위해 코딩을 필요로하지 않는 사전 훈련된 모델 세트인 Model Zoo에서 인기가 있습니다.

Tensorflow와는 대조적으로 연구 개발 분야에서 더 유리한 응용 프로그램을 구축하는 데 더 적합합니다. 텍스트, 사운드 또는 시계열 데이터가있는 응용 프로그램을 다루는 경우 Caffe는 컴퓨터 비전 이외의 용도로 사용되지 않습니다. 그러나 여러 호스트에서 동적으로 실행될 수 있으며 단일 플래그를 사용하여 CPU와 GPU간에 전환하는 작업을 잘 수행합니다.

3. Amazon 머신러닝
Amazon은 AML이라는 개발자를위한 자체 머신러닝 서비스를 개발했습니다. 이 도구는 실제로 코드를 조작하지 않고 정교하고 고급스러운 지능형 학습 모델을 개발하는 데 사용할 수있는 도구 및 마법사 모음입니다. AML을 사용하면 사용하기 쉬운 API를 통해 응용 프로그램에 필요한 예측을 파생시킬 수 있습니다. AML의 기술은 아마존의 내부 데이터 과학자들이 아마존 클라우드 서비스에 힘을 실어주기 위해 사용되며 고도로 확장 가능하고 역동적이며 유연합니다. AML은 Amazon S3, RDS 또는 Redshift에 저장된 데이터에 연결하여 바이너리 분류, 회귀 또는 다중 클래스 분류와 같은 작업을 수행하여 새 모델을 생성 할 수 있습니다.

4. Apache Singa
Apache Singa는 주로 모델 파티셔닝을 사용하여 분산된 딥러닝과 학습 프로세스의 병렬화에 중점을 둡니다. 이는 노드 클러스터에서 작동할 수있는 간단하고 강력한 프로그래밍 모델을 제공합니다. 주요 응용 프로그램은 이미지 인식 및 자연어 처리 (NLP)에 있습니다.

Singa는 직관적인 레이어 추상화 기반 프로그래밍 모델로 개발되었으며 일련의 딥러닝 모델을 지원합니다. 매우 유연한 아키텍처를 기반으로하기 때문에 동기식 및 비동기식 및 심지어 하이브리드 교육 방식을 모두 실행할 수 있습니다. Singa의 기술 스택은 IO, 모델 및 코어라는 세가지 중요한 구성 요소로 이루어져 있습니다. IO 구성 요소에는 네트워크 및 디스크에 데이터를 읽거나 쓰는 데 사용되는 클래스가 들어 있습니다. 핵심 구성 요소는 텐서 연산과 메모리 관리 함수를 처리합니다. 모델은 기머신러닝 모델에 사용되는 알고리즘 및 데이터 구조를 포함합니다.

5. Microsoft CNTK

CNTK (Cognitive Toolkit)는 Microsoft의 오픈소스 머신러닝 프레임 워크입니다. CNTK는 음성 인식 영역에서 더 많이 사용되지만 텍스트 및 이미지 교육에도 사용할 수 있습니다. AS CNN, LSTM, RNN, Sequence-to-Sequence 및 Feed Forward와 같은 다양한 머신러닝 알고리즘을 지원하므로, 가장 역동적 인 머신러닝 프레임 워크 중 하나입니다. CNTK는 다양한 CPU 및 GPU를 포함한 여러 하드웨어 유형을 지원합니다.

호환성은 CNTK의 하이라이트 중 하나입니다. 또한 가장 표현력이 뛰어나고 사용하기 쉬운 기계 학습 아키텍처로 널리 알려져 있습니다. CNTK에서 C ++ 및 Python과 같은 언어로 작업하고 내장된 교육 모델을 사용하거나 직접 빌드 할 수 있습니다.

6. Torch
Torch는 틀림없이, 특히 우분투를 사용하는 경우, 빠르고 쉽게 설정하고 얻을 수 있는 가장 간단한 머신러닝 프레임워크가 될 수 있습니다. 2002년 NYU에서 개발된 Torch는 Twitter 및 Facebook과 같은 거물급 회사에서 광범위하게 사용됩니다. Torch는 루아(Lua)라는 언어로 코딩되어 있습니다.이 언어는 드문 일이지만 읽기 쉽고 이해하기 쉽습니다. Torch의 장점 중 일부는 유용한 오류 메시지, 견본 코드의 거대한 저장소, 가이드 및 유용한 커뮤니티가 있는 이 친숙한 프로그래밍 언어에 기인 할 수 있습니다.

7. Accord.NET
Accord.NET은 .NET을 기반으로하는 오픈소스 시스템 학습 프레임워크이며 과학 컴퓨팅에 이상적입니다. 패턴 인식, 인공 신경망, 통계 데이터 처리, 선형 대수, 이미지 처리 등과 같은 응용 프로그램에 사용할 수있는 다양한 라이브러리로 구성됩니다. 프레임워크는 설치 프로그램, NuGet 패키지 및 소스 코드로 사용할 수 있는 라이브러리로 구성됩니다. Accord.NET에는 코드 재사용과 점진적인 알고리즘 변경을 용이하게하는 매트릭스 라이브러리가 있습니다.

8. Apache Mahout
Apache Software Foundation의 무료 오픈소스 프로젝트인 Apache Mahout은 클러스터링, 분류 및 협업 필터링과 같은 애플리케이션을 위해 무료 분산 또는 확장 가능한 ML 프레임 워크를 개발하려는 목표로 구축되었습니다. 다른 연산 작업 및 Java 라이브러리를위한 Java 콜렉션도 Mahout에서 사용할 수 있습니다.

Apache Mahout은 MapReduce 패러다임을 사용하여 Hadoop 위에 배포됩니다. 훌륭한 애플리케이션 중 하나는 즉시 데이터를 통찰력으로 변환하는 것입니다. Hadoop에 저장된 Big Data 가 연결되면 Mahout은 데이터 과학 도구가 데이터 세트에서 의미있는 패턴을 찾는 데 도움을 줄 수 있습니다.

9. Theano
Theano는 2007 년 몬트리올 대학에서 머신러닝 알고리즘에 대한 세계적 명성을 얻기 위해 개발되었습니다. 저가형 머신러닝 프레임워크라고 해도 유연하고 빠른 속도입니다. 프레임워크에 의해 던져진 오류 메시지는 도움이 되지 않고 비밀 스럽기 때문에 악명이 높습니다. 이들을 제외하고, Theano는 연구 과제에 더 적합한 플랫폼으로 매우 유용 할 수 있습니다.

Theano는 API 래퍼를 보낼 하이엔드 추상화 시스템을 위한 기본 플랫폼으로 주로 사용됩니다. 몇가지 인기있는 라이브러리의 예로는 Lasagne, Blocks 및 Keras가 있습니다. Theano를 사용하는 한가지 단점은 다중 GPU를 지원하기 위해 몇 가지 해결 방법을 모색해야한다는 것입니다.

10. Brainstorm
Brainstorm은 단순성과 유연성을 고려하여 마스터하는 가장 쉬운 머신러닝 프레임워크 중 하나입니다. 동시에 신경망 작업을보다 빠르고 재미있게 만듭니다. 전적으로 Python으로 작성된 Brainstorm은 여러 백엔드 시스템에서 원활하게 실행되도록 제작되었습니다.

Brainstorm은 Python을 사용하여 두개의 Hander 또는 데이터 API를 제공합니다. 하나는 Numpy 라이브러리의 CPU 용이고 다른 하나는 CUDA를 사용하여 GPU를 활용하는 것입니다. 대부분의 무거운 짐을 싣는 작업은 Python 스크립트로 수행됩니다. 즉, 풍부한 프런트엔드 UI가 거의 없다는 것을 의미합니다.

출처 : promptcloud.com