deeplearning4j/deeplearning4j

Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code and a java based math library on top of the core c++ library. Also includes samediff: a pytorch/tensorflow like library for running deep learn...

해결하는 문제

Java 가상 머신(JVM)에서 딥러닝 애플리케이션을 구축하고 배포하기 위한 완전한 생태계를 제공하여, 개발자가 Python에 국한되지 않고 Java, Scala, Kotlin, Clojure와 같은 언어를 사용하여 AI 개발을 할 수 있도록 합니다.

작동 방식

이 생태계는 여러 전문 라이브러리로 구성됩니다:

  • DL4J: 복잡한 신경망(MultiLayerNetworks 및 ComputationGraphs)을 생성하고 Keras에서 모델을 가져오기 위한 고수준 API.
  • ND4J: 수학 연산을 처리하는 선형 대수 라이브러리로, CPU 및 GPU에서 하드웨어 가속을 위해 C++ 백엔드(LibND4J)를 사용합니다.
  • SameDiff: 사용자 정의 레이어 및 손실 함수를 위해 TensorFlow와 유사한 그래프 기반 접근 방식을 사용하는 자동 미분 프레임워크.
  • DataVec: HDFS, Spark, 이미지, 비디오, 오디오를 포함한 다양한 형식의 머신러닝 데이터를 전처리하기 위한 ETL 도구.
  • Python4J: JVM 내에서 CPython 실행을 가능하게 합니다.

대상 사용자

Java, Scala, Kotlin 또는 Clojure 애플리케이션에 딥러닝을 통합해야 하는 JVM 기반 개발자 및 기업, 그리고 Apache Spark를 통한 분산 학습이 필요한 사용자.

주요 특징

  • JVM 네이티브: Java 및 기타 JVM 언어에 대한 완전한 지원.
  • 하드웨어 가속: CUDA GPU 및 다양한 CPU 아키텍처(x86, ARM, PowerPC) 지원.
  • 상호 운용성: Keras 및 TensorFlow(.pb 형식)에서 모델을 가져올 수 있는 기능.
  • 분산 학습: Apache Spark를 통한 학습에 대한 통합 지원.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트