아파치 MXNet
1. 개요
아파치 MXNet은 합성곱 신경망(CNN) 및 장단기 기억 네트워크(LSTM)와 같은 딥 러닝 모델을 지원하는 확장 가능한 딥 러닝 프레임워크이다. 분산 컴퓨팅 파라미터 서버를 사용하여 동적 클라우드 인프라에 분산될 수 있으며, 여러 개의 GPU 또는 CPU를 사용하여 선형적으로 확장 가능하다. 명령형 및 기호적 프로그래밍을 모두 지원하며, 파이썬, R, 스칼라, 클로저, 줄리아, 펄, MATLAB, 자바스크립트 등 다양한 언어를 지원한다. 훈련된 모델을 모바일 장치와 같은 저사양 장치에 배포하는 것을 지원하며, 아마존 웹 서비스(AWS) 및 마이크로소프트 애저를 포함한 공개 클라우드 공급업체에서 지원한다.
이미지 준비중입니다.
| 개발자 | 아파치 소프트웨어 재단 |
|---|---|
| 프로그래밍 언어 | C++ 파이썬 R 자바 줄리아 JavaScript 스칼라 Go 펄 |
| 운영 체제 | 윈도우 macOS 리눅스 |
| 장르 | 기계 학습 및 딥 러닝용 라이브러리 |
| 라이선스 | 아파치 라이선스 2.0 |
| 웹사이트 | 아파치 MXNet 공식 웹사이트 |
| 아파치 어틱 | 아파치 MXNet - 아파치 어틱 |
|---|
-
아파치 소프트웨어 재단 -
아파치 커먼즈
아파치 커먼즈는 아파치 재단에서 자바 관련 공통 컴포넌트 개발을 위해 시작된 프로젝트로, Proper, Sandbox, Dormant 세 가지 분류로 나뉘어 재사용 가능한 자바 컴포넌트 개발, 실험적인 프로젝트, 활동 중단된 컴포넌트 보관 등의 역할을 한다. -
아파치 소프트웨어 재단 -
그렘린 (질의어)
그렘린은 그래프 데이터베이스 및 프로세서에서 사용되는 그래프 순회 언어이자 팅커팝 프로젝트의 그래프 탐색 머신으로, 다양한 벤더에서 지원하며 OLTP 및 OLAP 환경 모두에서 그래프 작업을 수행한다. -
딥 러닝 소프트웨어 -
마이크로소프트 코그니티브 툴킷
-
딥 러닝 소프트웨어 -
케라스
케라스는 딥 러닝을 위한 고수준 신경망 API로, 빠른 실험, 사용자 친화성, 모듈성, 확장성을 특징으로 하며, 텐서플로우, JAX, PyTorch 등 다양한 백엔드와 함께 사용되어 다양한 신경망을 지원하고 여러 환경에서 딥 모델을 생성 및 활용하도록 돕는다. -
아파치 라이선스 소프트웨어 -
안드로이드 (운영체제)
구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다. -
아파치 라이선스 소프트웨어 -
쿠버네티스
쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈 소스 시스템으로, 구글의 Borg 시스템에서 영감을 받아 설계되었으며 파드, 서비스 등의 기능을 제공하여 클라우드 네이티브 환경에서 중요한 역할을 한다.
2. 주요 특징
아파치 MXNet은 합성곱 신경망(CNN) 및 장단기 기억 네트워크(LSTM)와 같은 딥 러닝 모델을 지원하는 확장 가능한 딥 러닝 프레임워크이다.
2.1. 확장성
MXNet은 분산 컴퓨팅 파라미터 서버(카네기 멜론 대학교, 바이두, 구글의 연구를 기반으로 함)를 사용하여 동적 클라우드 인프라에 분산될 수 있다. 여러 개의 GPU 또는 CPU를 사용하면 프레임워크가 선형적으로 확장될 수 있다.
2.2. 유연성
MXNet은 명령형 프로그래밍과 기호적 프로그래밍을 모두 지원한다. 이 프레임워크를 통해 개발자는 하이퍼파라미터를 추적, 디버깅, 체크포인트 저장, 수정하고 조기 종료를 수행할 수 있다.
2.3. 다양한 언어 지원
MXNet은 프런트 엔드 개발을 위해 파이썬, R, 스칼라, 클로저, 줄리아, 펄, MATLAB, 자바스크립트를 지원하며, 백엔드 최적화를 위해 C++(씨플러스플러스)를 지원한다.
2.4. 이식성
이 프레임워크는 훈련된 모델을 Amalgamation을 사용하여 모바일 장치와 같은 저사양 장치에 추론을 위해 배포하는 것을 지원한다. 다른 배포 대상으로는 사물 인터넷 장치(AWS Greengrass 사용), 서버리스 컴퓨팅(AWS Lambda 사용) 또는 컨테이너가 있다. 이러한 저사양 환경은 더 약한 CPU 또는 제한된 메모리(RAM)만 가질 수 있으며, 상위 수준 환경(예: GPU 기반 클러스터)에서 훈련된 모델을 사용할 수 있어야 한다.