딥 러닝을 위한 프레임워크는 머신 러닝 모델을 빠르고 정확하게 정의하고 훈련하기 위한 인터페이스, 라이브러리 및 도구의 조합으로 구성됩니다.
딥 러닝은 구조화되지 않은 비텍스트 데이터를 많이 사용하기 때문에 "계층" 간의 상호 작용을 제어하고 입력 데이터에서 학습하고 자율적인 결정을 내림으로써 모델 개발을 빠르게 만드는 프레임워크가 필요합니다.
2021년에 딥 러닝에 대해 배우고 싶다면 아래 표시된 프레임워크 중 하나를 사용하는 것을 고려하십시오. 목표와 비전을 달성하는 데 도움이 되는 것을 선택하는 것을 잊지 마십시오.
1. TensorFlow
딥러닝에 대해 이야기할 때, TensorFlow 자주 언급되는 첫 번째 프레임워크입니다. 인기가 높은 이 프레임워크는 Google(제작을 담당하는 회사)뿐만 아니라 Dropbox, eBay, Airbnb, Nvidia 등과 같은 다른 회사에서도 사용하고 있습니다.
TensorFlow는 고수준 및 저수준 API를 개발하는 데 사용할 수 있으므로 거의 모든 종류의 기기에서 애플리케이션을 실행할 수 있습니다. Python이 기본 언어이지만 Tensoflow의 인터페이스는 C++, Java, Julia 및 JavaScript와 같은 다른 프로그래밍 언어를 사용하여 액세스하고 제어할 수 있습니다.
오픈 소스인 TensorFlow를 사용하면 다른 API와 여러 가지를 통합하고 커뮤니티에서 빠른 지원과 업데이트를 받을 수 있습니다. 계산을 위해 "정적 그래프"에 의존하기 때문에 즉시 계산을 하거나 다른 시간에 액세스할 수 있도록 작업을 저장할 수 있습니다. 이러한 이유는 TensorBoard를 통해 신경망의 개발을 "관찰"할 수 있다는 가능성에 추가되어 TensorFlow를 딥 러닝을 위한 가장 인기 있는 프레임워크로 만듭니다.
주요 특징들
- 오픈 소스
- 유연성
- 빠른 디버깅
2. 파이 토치
PyTorch는 Facebook에서 서비스 운영을 지원하기 위해 개발한 프레임워크입니다. 오픈 소스가 된 이후 이 프레임워크는 Salesforce 및 Udacity와 같은 Facebook 이외의 회사에서 사용되었습니다.
이 프레임워크는 동적으로 업데이트된 그래프를 작동하므로 데이터 세트를 처리할 때 데이터 세트의 아키텍처를 변경할 수 있습니다. PyTorch를 사용하면 딥 러닝에 대한 경험이 없어도 신경망을 개발하고 훈련하는 것이 더 간단합니다.
오픈 소스이고 Python을 기반으로 하므로 PyTorch에 간단하고 빠르게 통합할 수 있습니다. 또한 배우고, 사용하고, 디버그할 수 있는 간단한 프레임워크입니다. 질문이 있는 경우 Python 커뮤니티와 PyTorch 커뮤니티의 두 커뮤니티 모두의 훌륭한 지원과 업데이트를 기대할 수 있습니다.
주요 특징들
- 쉽게 배울 수
- GPU 및 CPU 지원
- 라이브러리 확장을 위한 풍부한 API 세트
3. 아파치 MXNet
높은 확장성, 고성능, 빠른 문제 해결 및 고급 GPU 지원으로 인해 이 프레임워크는 대규모 산업 프로젝트에서 사용하기 위해 Apache에서 만들었습니다.
MXNet에는 모든 기술 수준의 개발자가 다음을 수행할 수 있는 Gluon 인터페이스가 포함되어 있습니다. 딥 러닝 시작하기 클라우드, 에지 장치 및 모바일 앱에서. 몇 줄의 Gluon 코드로 선형 회귀, 컨벌루션 네트워크 및 순환 LSTM을 구축할 수 있습니다. 물체 감지, 음성 인식, 추천 및 개인화.
MXNet은 다양한 장치에서 사용할 수 있으며 여러 장치에서 지원됩니다. 프로그래밍 언어 자바, R, 자바스크립트, 스칼라, 고 등. 커뮤니티의 사용자와 구성원 수가 적지만 MXNet은 잘 작성된 문서와 큰 성장 잠재력을 가지고 있습니다. 특히 Amazon이 이 프레임워크를 AWS의 Machine Learning을 위한 기본 도구로 선택했기 때문입니다.
주요 특징들
- 8개의 언어 바인딩
- 다중 CPU 및 다중 GPU 시스템을 지원하는 분산 교육
- 명령형 모드와 기호 모드 간 전환을 허용하는 하이브리드 프런트 엔드
4. Microsoft 인지 도구 키트
Azure(Microsoft 클라우드 서비스)에서 실행되는 응용 프로그램 또는 서비스를 개발하려는 경우 Microsoft Cognitive Toolkit이 딥 러닝 프로젝트를 위해 선택하는 프레임워크입니다. 이것은 오픈 소스이며 Python, C++, C#, Java 등과 같은 프로그래밍 언어에서 지원됩니다. 이 프레임워크는 "인간의 두뇌처럼 생각"하도록 설계되었으므로 많은 양의 비정형 데이터를 처리하는 동시에 빠른 교육과 직관적인 아키텍처를 제공합니다.
이 프레임워크(Skype, Xbox 및 Cortana 뒤에 있는 것과 동일한 프레임워크)를 선택하면 애플리케이션에서 우수한 성능, 확장성 및 Azure와의 간단한 통합을 얻을 수 있습니다. 그러나 TensorFlow 또는 PyTorch와 비교할 때 커뮤니티의 구성원 수와 지원은 줄어듭니다.
다음 비디오는 완전한 소개 및 적용 예를 제공합니다.
주요 특징들
- 명확한 문서
- Microsoft 팀의 지원
- 직접 그래프 시각화
5. 케 라스
PyTorch와 마찬가지로 Keras는 데이터 집약적 프로젝트를 위한 Python 기반 라이브러리입니다. keras API는 높은 수준에서 작동하며 TensorFlow, Theano 및 Microsoft Cognitive Toolkit과 같은 낮은 수준의 API와의 통합을 허용합니다.
keras 사용의 몇 가지 장점은 배우기 쉽다는 것입니다. 딥 러닝 초보자에게 권장되는 프레임워크입니다. 배포 속도; 파이썬 커뮤니티와 파이썬이 통합된 다른 프레임워크의 커뮤니티로부터 큰 지원을 받고 있습니다.
Keras에는 다양한 구현이 포함되어 있습니다. 신경망의 빌딩 블록 레이어, 목적 함수, 활성화 함수 및 수학적 옵티마이저와 같은 해당 코드는 GitHub에서 호스팅되며 포럼과 Slack 지원 채널이 있습니다. 표준 지원 외에도 신경망, Keras는 Convolutional Neural Networks 및 Recurrent Neural Networks에 대한 지원을 제공합니다.
케라스는 허용 딥 러닝 모델 iOS 및 Android의 스마트폰, Java Virtual Machine 또는 웹에서 생성됩니다. 또한 GPU(Graphics Processing Unit) 및 TPU(Tensor Processing Unit) 클러스터에서 딥 러닝 모델의 분산 교육을 사용할 수 있습니다.
주요 특징들
- 사전 훈련된 모델
- 다중 백엔드 지원
- 사용자 친화적이고 대규모 커뮤니티 지원
6. 애플 코어 ML
Core ML은 Apple에서 IOS, Mac OS 및 iPad OS와 같은 생태계를 지원하기 위해 개발했습니다. API는 낮은 수준에서 작동하여 CPU와 GPU의 리소스를 잘 활용하여 생성된 모델과 애플리케이션이 인터넷 연결 없이도 계속 실행되도록 하여 장치의 "메모리 풋프린트"와 전력 소비를 줄입니다.
Core ML이 이를 수행하는 방법은 정확히 iphone/ipad에서 실행하도록 최적화된 또 다른 기계 학습 라이브러리를 만드는 것이 아닙니다. 대신 Core ML은 다른 기계 학습 소프트웨어로 표현된 모델 사양과 훈련된 매개변수를 가져와 iOS 앱의 리소스가 되는 파일로 변환하는 컴파일러와 비슷합니다. Core ML 모델로의 이 변환은 앱이 사용되는 동안 실시간이 아니라 앱 개발 중에 발생하며 coremltools python 라이브러리에 의해 촉진됩니다.
Core ML은 기계 학습 모델을 애플리케이션으로. Metal 및 Accelerate와 같은 저수준 기술을 기반으로 구축된 30가지 이상의 레이어 유형과 의사결정 트리, 지원 벡터 머신 및 선형 회귀 방법으로 딥 러닝을 지원합니다.
주요 특징들
- 앱에 쉽게 통합
- 인터넷 액세스가 필요하지 않은 로컬 리소스의 최적 사용
- 개인 정보 보호: 데이터가 장치를 떠날 필요가 없습니다.
7. ONNX
목록의 마지막 프레임워크는 ONNX입니다. 이 프레임워크는 서로 다른 프레임워크, 도구, 런타임 및 컴파일러 간에 모델을 전송하고 구축하는 프로세스를 단순화하는 것을 목표로 Microsoft와 Facebook 간의 협력으로 탄생했습니다.
ONNX는 Microsoft Cognitive Toolkit, MXNet, Caffe 및 (변환기 사용) Tensorflow 및 Core ML과 같은 저수준 API의 이점을 활용하면서 여러 플랫폼에서 실행할 수 있는 공통 파일 유형을 정의합니다. ONNX의 원리는 스택에서 모델을 훈련하고 다른 추론 및 예측을 사용하여 구현하는 것입니다.
Linux Foundation의 산하 조직인 LF AI Foundation은 지원 생태계 구축을 전담하는 조직입니다. 오픈 소스 인공 지능(AI), 머신 러닝(ML) 및 딥 러닝(DL)의 혁신. 14년 2019월 XNUMX일 ONNX를 대학원 수준 프로젝트로 추가했습니다. LF AI 재단의 산하에 ONNX의 이러한 움직임은 ONNX를 벤더 중립적인 개방형 표준으로 설정하는 데 중요한 이정표로 여겨졌습니다.
ONNX Model Zoo는 ONNX 형식으로 제공되는 딥 러닝의 사전 훈련된 모델 모음입니다. 각 모델에는 주피터 노트북 모델 훈련 및 훈련된 모델로 추론 수행 노트북은 Python으로 작성되었으며 다음 링크가 포함되어 있습니다. 훈련 데이터 세트 모델 아키텍처를 설명하는 원본 과학 문서에 대한 참조.
주요 특징들
- 프레임워크 상호 운용성
- 하드웨어 최적화
결론
다음은 최고의 프레임워크에 대한 요약입니다. 깊은 학습. 이를 위한 몇 가지 프레임워크가 무료 또는 유료입니다. 프로젝트에 가장 적합한 것을 선택하려면 먼저 애플리케이션을 개발할 플랫폼을 파악하십시오.
TensorFlow 및 Keras와 같은 일반 프레임워크는 시작하기에 가장 좋은 옵션입니다. 그러나 OS 또는 장치별 이점을 사용해야 하는 경우 Core ML 및 Microsoft Cognitive Toolkit이 최상의 옵션일 수 있습니다.
이 목록에 언급되지 않은 Android 기기, 기타 시스템 및 특정 목적을 목표로 하는 다른 프레임워크가 있습니다. 후자의 그룹에 관심이 있다면 Google 또는 기타 기계 학습 사이트에서 해당 정보를 검색하는 것이 좋습니다.
댓글을 남겨주세요.