딥 러닝 소프트웨어 비교

Comparison of deep learning software

다음 표는 딥 러닝을 위한 주목할 만한 소프트웨어 프레임워크, 라이브러리컴퓨터 프로그램을 비교한 것입니다.

이름별 딥 러닝 소프트웨어

소프트웨어 크리에이터 초기 릴리즈 소프트웨어[a] 라이선스 오픈 소스 플랫폼 기입처 인터페이스 OpenMP 지원 OpenCL 지원 CUDA 지원 자동 차별화[1] 사전 교육을 받은 모델 보유 반복망 컨볼루션 네트 RBM/DBN 병렬 실행(멀티 노드) 적극적으로 개발
빅DL Jason Dai (인텔) 2016 아파치 2.0 네. 아파치 스파크 스칼라 스칼라, 파이썬 아니요. 네. 네. 네.
카페 버클리 비전과 학습 센터 2013 BSD 네. Linux, macOS, Windows[2] C++ Python, MATLAB, C++ 네. 개발[3] 네. 네. 네, 그렇습니다[4]. 네. 네. 아니요. ? 아니요[5].
체인어 우선 네트워크 2015 BSD 네. Linux, macOS 파이썬 파이썬 아니요. 아니요. 네. 네. 네. 네. 네. 아니요. 네. 아니요[6].
딥러닝 4j Skymind 엔지니어링 팀, Deeplearning4j 커뮤니티, 원래 Adam Gibson 2014 아파치 2.0 네. Linux, macOS, Windows, Android (크로스 플랫폼) C++, Java Java, Scala, Clojure, Python(Keras), Kotlin 네. 아니요[7]. 네, 그렇습니다[8][9]. 계산 그래프 네, 그렇습니다[10]. 네. 네. 네. 네, 그렇습니다[11]. 네.
Dlib 데이비스 킹 2002 소프트웨어 라이선스 활성화 네. 크로스 플랫폼 C++ C++, Python 네. 아니요. 네. 네. 네. 아니요. 네. 네. 네.
플럭스 마이크 이네스 2017 MIT 라이선스 네. Linux, MacOS, Windows (크로스 플랫폼) 줄리아. 줄리아. 네. 네. 네, 그렇습니다[12]. 네. 네. 아니요. 네. 네.
인텔(R) 데이터 분석 액셀러레이션 라이브러리 인텔(R) 2015 Apache 라이센스 2.0 네. 인텔[13] CPU 상의 Linux, macOS, Windows C++, Python, Java C++, Python, Java[13] 네. 아니요. 아니요. 네. 아니요. 네. 네.
인텔 매스 커널 라이브러리 2017 이후 인텔(R) 2017 독자 사양 아니요. 인텔[15] CPU 상의 Linux, macOS, Windows C[16] 네, 그렇습니다[17]. 아니요. 아니요. 네. 아니요. 네, 그렇습니다[18]. 네, 그렇습니다[18]. 아니요.
구글 JAX 구글 2018 Apache 라이센스 2.0 네. Linux, macOS, Windows 파이썬 파이썬 Linux에서만 네. 아니요. 네. 네.
케라스 프랑수아 촐레 2015 MIT 라이선스 네. Linux, macOS, Windows 파이썬 Python, R Therano를 백엔드로 사용하는 경우에만 Theno, Tensorflow 또는 PlaidML을 백엔드로 사용할 수 있습니다. 네. 네. 네, 그렇습니다[19]. 네. 네. 아니요[20]. 네, 그렇습니다[21]. 네.
MATLAB + Deep Learning Toolbox (공식적으로는 Neural Network Toolbox) 매스웍스 1992 독자 사양 아니요. Linux, macOS, Windows C, C++, Java, MATLAB 매트랩 아니요. 아니요. 병렬 컴퓨팅 툴박스를 사용한 트레이닝 및 GPU Coder를[22] 사용한 CUDA 코드 생성 네, 그렇습니다[23]. 네, 그렇습니다[24][25]. 네, 그렇습니다[24]. 네, 그렇습니다[24]. 네. 병렬 컴퓨팅[26] 도구 상자 사용 네.
Microsoft Cognitive Toolkit (CNTK) 마이크로소프트 리서치 2016 MIT 라이선스[27] 네. Windows, Linux[28] (로드맵의 도커를 통한 macOS) C++ Python (Keras), C++, 명령줄,[29] BrainScript[30] (.로드맵[31] 상의 NET) 네, 그렇습니다[32]. 아니요. 네. 네. 네, 그렇습니다[33]. 네, 그렇습니다[34]. 네, 그렇습니다[34]. 아니요[35]. 네, 그렇습니다[36]. 아니요[37].
Apache MXNet Apache 소프트웨어 재단 2015 아파치 2.0 네. Linux, macOS, Windows,[38][39] AWS, Android,[40] iOS, JavaScript[41] 소형 C++ 코어 라이브러리 C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Clojure 네. 로드맵상[42] 네. 네, 그렇습니다[43]. 네, 그렇습니다[44]. 네. 네. 네. 네, 그렇습니다[45]. 네.
뉴럴 디자이너 예술 소풍 2014 독자 사양 아니요. Linux, macOS, Windows C++ 그래피컬 사용자 인터페이스 네. 아니요. 네. 분석적 차별화 아니요. 아니요. 아니요. 아니요. 네. 네.
오픈NN 예술 소풍 2003 GNU LGPL 네. 크로스 플랫폼 C++ C++ 네. 아니요. 네. ? ? 아니요. 아니요. 아니요. ?
플라스틱 Vertex.AI, 인텔 2017 아파치 2.0 네. Linux, macOS, Windows Python, C++, OpenCL Python, C++ ? 일부 OpenCL ICD가 인식되지 않습니다. 아니요. 네. 네. 네. 네. 네. 네.
파이토치 Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan(페이스북) 2016 BSD 네. Linux, macOS, Windows, Android[46] Python, C, C++, CUDA Python, C++, Julia 네. 별도 유지보수[47][48][49] 패키지 경유 네. 네. 네. 네. 네. 네, 그렇습니다[50]. 네. 네.
아파치 싱가 Apache 소프트웨어 재단 2015 아파치 2.0 네. Linux, macOS, Windows C++ Python, C++, Java 아니요. V1.0에서 지원 네. ? 네. 네. 네. 네. 네.
텐서플로우 구글 브레인 2015 아파치 2.0 네. Linux, macOS, Windows,[51][52] Android C++, Python, CUDA Python (Keras), C/C++, Java, Go, JavaScript, R,[53] Julia, Swift 아니요. 로드맵에[54] 기재되어 있으나[55] 이미 SYCL 지원 있음 네. 네, 그렇습니다[56]. 네, 그렇습니다[57]. 네. 네. 네. 네. 네.
테아노 몽트렐 대학교 2007 BSD 네. 크로스 플랫폼 파이썬 Python (Keras) 네. 개발[58] 네. 네, 그렇습니다[59][60]. 라자냐의 모형[61] 동물원을 통해 네. 네. 네. 네, 그렇습니다[62]. 아니요.
횃불 로난 콜로베르, 코레이 카부쿠오글루, 클레멘트 파라벳 2002 BSD 네. Linux, macOS, Windows,[63] Android,[64] iOS C, Lua Lua, LuaJIT,[65] C, C++/OpenCL용[66] 유틸리티 라이브러리 네. 서드파티의[67][68] 실장 네, 그렇습니다[69][70]. Twitter의 Autograd를[71] 통해 네, 그렇습니다[72]. 네. 네. 네. 네, 그렇습니다[63]. 아니요.
울프람 매스매티카 10[73] 이상 울프람 리서치 2014 독자 사양 아니요. Windows, macOS, Linux, 클라우드 컴퓨팅 C++, 울프램 언어, CUDA 울프람어 네. 아니요. 네. 네. 네, 그렇습니다[74]. 네. 네. 네. 네, 그렇습니다[75]. 네.
소프트웨어 크리에이터 초기 릴리즈 소프트웨어[a] 라이선스 오픈 소스 플랫폼 기입처 인터페이스 OpenMP 지원 OpenCL 지원 CUDA 지원 자동 차별화[1] 사전 교육을 받은 모델 보유 반복망 컨볼루션 네트 RBM/DBN 병렬 실행(멀티 노드) 적극적으로 개발
  1. ^ a b 여기서의 라이선스는 요약이며 라이선스의 완전한 스테이트먼트는 아닙니다.일부 라이브러리는 다른 라이선스로 다른 라이브러리를 내부적으로 사용할 수 있습니다.

머신러닝 모델의 호환성 비교

형식명 설계 목표 다른 형식과 호환 가능 독립형 DNN 모델 전처리 및 후처리 튜닝 및 교정을 위한 런타임 구성 DNN 모델 인터커넥트 공통 플랫폼
텐서플로우, 케라스, 카페, 토치, ONNX, 알고리즘 트레이닝 아니요. 없음 / 대부분의 형식에서 파일 분리 아니요. 아니요. 아니요. 네.
ONNX 알고리즘 트레이닝 네. 없음 / 대부분의 형식에서 파일 분리 아니요. 아니요. 아니요. 네.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (20 February 2015). "Automatic differentiation in machine learning: a survey". arXiv:1502.05767 [cs.LG].
  2. ^ "Microsoft/caffe". GitHub. 30 October 2021.
  3. ^ "Caffe: a fast open framework for deep learning". July 19, 2019 – via GitHub.
  4. ^ "Caffe Model Zoo". caffe.berkeleyvision.org.
  5. ^ GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning., Berkeley Vision and Learning Center, 2019-09-25, retrieved 2019-09-25
  6. ^ Preferred Networks Migrates its Deep Learning Research Platform to PyTorch, 2019-12-05, retrieved 2019-12-27
  7. ^ "Support for Open CL · Issue #27 · deeplearning4j/nd4j". GitHub.
  8. ^ "N-Dimensional Scientific Computing for Java".
  9. ^ "Comparing Top Deep Learning Frameworks". Deeplearning4j. Archived from the original on 2017-11-07. Retrieved 2017-10-31.
  10. ^ Chris Nicholson; Adam Gibson. "Deeplearning4j Models". Archived from the original on 2017-02-11. Retrieved 2016-03-02.
  11. ^ Deeplearning4j. "Deeplearning4j on Spark". Deeplearning4j. Archived from the original on 2017-07-13. Retrieved 2016-09-01.
  12. ^ "Metalhead". FluxML. 29 October 2021.
  13. ^ a b "Intel® Data Analytics Acceleration Library (Intel® DAAL)". software.intel.com. November 20, 2018.
  14. ^ "Intel® Math Kernel Library Release Notes and New Features". Intel.
  15. ^ "Intel® Math Kernel Library (Intel® MKL)". software.intel.com. September 11, 2018.
  16. ^ "Deep Neural Network Functions". software.intel.com. May 24, 2019.
  17. ^ "Using Intel® MKL with Threaded Applications". software.intel.com. June 1, 2017.
  18. ^ a b "Intel® Xeon Phi™ Delivers Competitive Performance For Deep Learning—And Getting Better Fast". software.intel.com. March 21, 2019.
  19. ^ "Applications - Keras Documentation". keras.io.
  20. ^ "Is there RBM in Keras? · Issue #461 · keras-team/keras". GitHub.
  21. ^ "Does Keras support using multiple GPUs? · Issue #2436 · keras-team/keras". GitHub.
  22. ^ "GPU Coder - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  23. ^ "Automatic Differentiation Background - MATLAB & Simulink". MathWorks. September 3, 2019. Retrieved November 19, 2019.
  24. ^ a b c "Neural Network Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  25. ^ "Deep Learning Models - MATLAB & Simulink". MathWorks. Retrieved 13 November 2017.
  26. ^ "Parallel Computing Toolbox - MATLAB". MathWorks. Retrieved 13 November 2017.
  27. ^ "CNTK/LICENSE.md at master · Microsoft/CNTK · GitHub". GitHub.
  28. ^ "Setup CNTK on your machine". GitHub.
  29. ^ "CNTK usage overview". GitHub.
  30. ^ "BrainScript Network Builder". GitHub.
  31. ^ ".NET Support · Issue #960 · Microsoft/CNTK". GitHub.
  32. ^ "How to train a model using multiple machines? · Issue #59 · Microsoft/CNTK". GitHub.
  33. ^ "Prebuilt models for image classification · Issue #140 · microsoft/CNTK". GitHub.
  34. ^ a b "CNTK - Computational Network Toolkit". Microsoft Corporation.
  35. ^ url=https://github.com/Microsoft/CNTK/issues/534
  36. ^ "Multiple GPUs and machines". Microsoft Corporation.
  37. ^ "Disclaimer". CNTK TEAM. 6 November 2021.
  38. ^ "Releases · dmlc/mxnet". Github.
  39. ^ "Installation Guide — mxnet documentation". Readthdocs.
  40. ^ "MXNet Smart Device". ReadTheDocs. Archived from the original on 2016-09-21. Retrieved 2016-05-19.
  41. ^ "MXNet.js". Github. 28 October 2021.
  42. ^ "Support for other Device Types, OpenCL AMD GPU · Issue #621 · dmlc/mxnet". GitHub.
  43. ^ "— Redirecting to mxnet.io". mxnet.readthedocs.io.
  44. ^ "Model Gallery". GitHub.
  45. ^ "Run MXNet on Multiple CPU/GPUs with Data Parallel". GitHub.
  46. ^ "PyTorch". Dec 17, 2021.
  47. ^ "OpenCL build of pytorch: (in-progress, not useable) - hughperkins/pytorch-coriander". July 14, 2019 – via GitHub.
  48. ^ "DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim". Jan 21, 2022 – via GitHub.
  49. ^ "OpenCL Support · Issue #488 · pytorch/pytorch". GitHub.
  50. ^ "Restricted Boltzmann Machines (RBMs) in PyTorch". GitHub.
  51. ^ "Install TensorFlow with pip".
  52. ^ "TensorFlow 0.12 adds support for Windows".
  53. ^ interface), JJ Allaire (R; RStudio; Eddelbuettel, Dirk; Golding, Nick; Tang, Yuan; Tutorials), Google Inc (Examples and (2017-05-26), tensorflow: R Interface to TensorFlow, retrieved 2017-06-14 {{citation}}: first6=범용명(도움말)이 있습니다.
  54. ^ "tensorflow/roadmap.md at master · tensorflow/tensorflow · GitHub". GitHub. January 23, 2017. Retrieved May 21, 2017.
  55. ^ "OpenCL support · Issue #22 · tensorflow/tensorflow". GitHub.
  56. ^ "TensorFlow". TensorFlow.
  57. ^ "Models and examples built with TensorFlow". July 19, 2019 – via GitHub.
  58. ^ "Using the GPU — Theano 0.8.2 documentation".
  59. ^ "gradient – Symbolic Differentiation — Theano 1.0.0 documentation". deeplearning.net.
  60. ^ "Automatic vs. Symbolic differentiation".
  61. ^ "Recipes/modelzoo at master · Lasagne/Recipes · GitHub". GitHub.
  62. ^ "Using multiple GPUs — Theano 1.0.0 documentation". deeplearning.net.
  63. ^ a b "torch/torch7". July 18, 2019 – via GitHub.
  64. ^ "GitHub - soumith/torch-android: Torch-7 for Android". GitHub. 13 October 2021.
  65. ^ "Torch7: A Matlab-like Environment for Machine Learning" (PDF).
  66. ^ "GitHub - jonathantompson/jtorch: An OpenCL Torch Utility Library". GitHub. 18 November 2020.
  67. ^ "Cheatsheet". GitHub.
  68. ^ "cltorch". GitHub.
  69. ^ "Torch CUDA backend". GitHub.
  70. ^ "Torch CUDA backend for nn". GitHub.
  71. ^ "Autograd automatically differentiates native Torch code: twitter/torch-autograd". July 9, 2019 – via GitHub.
  72. ^ "ModelZoo". GitHub.
  73. ^ "Launching Mathematica 10". Wolfram.
  74. ^ "Wolfram Neural Net Repository of Neural Network Models". resources.wolframcloud.com.
  75. ^ "Parallel Computing—Wolfram Language Documentation". reference.wolfram.com.