ディープラーニングソフトウェアの比較

次の表は、ディープラーニングアプリケーション向けの主要なソフトウェア フレームワークライブラリ、およびコンピュータ プログラムを比較したものです。

名前でわかるディープラーニングソフトウェア

ソフトウェア クリエイター 初回リリース ソフトウェアライセンス[ a ]
オープンソース
プラットフォーム 書かれた インタフェース OpenMPサポート OpenCLサポート CUDAサポート
ROCmのサポート[ 1 ]
自動微分法[ 2 ]事前学習済みモデルあり
並列実行(マルチノード)
積極的に開発
ビッグDLジェイソン・ダイ(インテル) 2016 アパッチ2.0はい アパッチスパーク スカラ Scala、Python いいえ いいえ はい はい はい はい
カフェバークレービジョンアンドラーニングセンター 2013 BSDはい LinuxmacOSWindows [ 3 ]C++PythonMATLABC++はい 開発中[ 4 ]はい いいえ はい はい[ 5 ]はい はい いいえ ? いいえ[ 6 ]
チェイナー優先ネットワーク 2015 BSDはい LinuxmacOSパイソンパイソンいいえ いいえ はい いいえ はい はい はい はい いいえ はい いいえ[ 7 ]
ディープラーニング4jSkymindエンジニアリングチーム; Deeplearning4jコミュニティ; 元はAdam Gibson 2014 アパッチ2.0はい LinuxmacOSWindowsAndroidクロスプラットフォームC++JavaJavaScalaClojurePython ( Keras )、Kotlinはい いいえ[ 8 ]はい[ 9 ] [ 10 ]いいえ 計算グラフ はい[ 11 ]はい はい はい はい[ 12 ]はい
ディープスピードマイクロソフト 2019 アパッチ2.0 はい Linux、macOS、Windows Python、C++、CUDA パイソン いいえ いいえ はい いいえ はい はい はい はい いいえ はい はい
ドリブデイビス・キング 2002 Boostソフトウェアライセンスはい クロスプラットフォームC++C++Pythonはい いいえ はい いいえ はい はい いいえ はい はい はい はい
ファスタイファスト.ai2018 アパッチ2.0 はい Linux、macOS、Windows Python、CUDA パイソン いいえ いいえ はい いいえ はい はい はい はい いいえ はい はい
フラックスマイク・イネス 2017 MITライセンスはい LinuxMacOSWindowsクロスプラットフォームジュリアジュリアはい いいえ はい はい[ 13 ]はい はい いいえ はい はい
ホロヴォドウーバーテクノロジーズ2017 アパッチ2.0 はい Linux、macOS、Windows Python、C++、CUDA パイソン いいえ いいえ はい いいえ はい はい はい はい いいえ はい はい
インテルデータ アナリティクス アクセラレーション ライブラリインテル 2015 アパッチ2.0はい Intel CPU上のLinuxmacOSWindows [ 14 ]C++PythonJavaC++PythonJava [ 14 ]はい いいえ いいえ いいえ はい いいえ はい はい はい
インテルマス カーネル ライブラリ2017 [ 15 ]以降 インテル 2017 独自のいいえ Intel CPU上のLinuxmacOSWindows [ 16 ]C/C++、DPC++、Fortran C [ 17 ]はい[ 18 ]いいえ いいえ いいえ はい いいえ はい[ 19 ]はい[ 19 ]いいえ はい
グーグルジャックスグーグル 2018 アパッチ2.0はい LinuxmacOSWindowsパイソンパイソンLinuxのみ いいえ はい いいえ はい はい
ケラスフランソワ・ショレ 2015 MITライセンスはい LinuxmacOSWindowsパイソンPythonRTheanoをバックエンドとして使用する場合のみ バックエンドとしてTheano、Tensorflow、PlaidMLを使用できる はい いいえ はい はい[ 20 ]はい はい いいえ[ 21 ]はい[ 22 ]はい
MATLAB + ディープラーニング ツールボックス (旧ニューラル ネットワーク ツールボックス) マスワークス1992 独自のいいえ LinuxmacOSWindowsCC++JavaMATLABMATLABいいえ いいえ Parallel Computing Toolboxで学習し、GPU CoderでCUDAコードを生成する[ 23 ]いいえ はい[ 24 ]はい[ 25 ] [ 26 ]はい[ 25 ]はい[ 25 ]はい 並列計算ツールボックスを使用[ 27 ]はい
Microsoft 認知ツールキット(CNTK) マイクロソフトリサーチ2016 MITライセンス[ 28 ]はい WindowsLinux [ 29 ](ロードマップではDocker経由のmacOSも) C++Python ( Keras )、C++コマンドライン[ 30 ] BrainScript [ 31 ] ( .NETはロードマップ上[ 32 ] ) はい[ 33 ]いいえ はい いいえ はい はい[ 34 ]はい[ 35 ]はい[ 35 ]いいえ[ 36 ]はい[ 37 ]いいえ[ 38 ]
マインドスポアファーウェイ2020 アパッチ2.0はい LinuxWindowsmacOSEulerOSopenEulerOpenHarmonyOniro OSHarmonyOSAndroidC++RustJuliaPythonArkTSCangjieJava (Lite)
ML.NETマイクロソフト 2018 MITライセンスはい Windows、Linux、macOS C#、C++ C#、F# はい
アパッチMXNetApacheソフトウェア財団 2015 アパッチ2.0はい LinuxmacOSWindows[ 39 ] [ 40 ] AWSAndroid[ 41 ] iOSJavaScript [ 42 ]小さなC++コアライブラリ C++PythonJuliaMATLABJavaScriptGoRScalaPerlClojureはい いいえ はい いいえ はい[ 43 ]はい[ 44 ]はい はい はい はい[ 45 ]いいえ
ニューラルデザイナーアルテルニクス 2014 独自のいいえ LinuxmacOSWindowsC++グラフィカルユーザーインターフェースはい いいえ はい いいえ 解析的微分化 いいえ いいえ いいえ いいえ はい はい
オープンNNアルテルニクス 2003 GNU LGPLはい クロスプラットフォームC++C++はい いいえ はい いいえ ? はい[ 46 ]いいえ いいえ いいえ ? はい
プレイドMLVertex.AIインテル2017 アパッチ2.0はい LinuxmacOSWindowsPythonC++OpenCLPythonC++? 一部のOpenCL ICDは認識されません いいえ いいえ はい はい はい はい はい はい
パイトーチメタAI2016 BSDはい LinuxmacOSWindowsAndroid [ 47 ]PythonCC++CUDAPythonC++JuliaR [ 48 ]はい 別途管理されたパッケージ経由[ 49 ] [ 50 ] [ 51 ]はい はい はい はい はい はい はい[ 52 ]はい はい
PyTorch ライトニングLightning-AI(元ウィリアム・ファルコン)[ 53 ]2019 アパッチ2.0はい Linux、macOS、Windows パイソン パイソン はい PyTorch経由 はい はい はい はい はい はい はい はい[ 54 ]はい
アパッチ・シンガApacheソフトウェア財団2015 アパッチ2.0はい LinuxmacOSWindowsC++PythonC++Javaいいえ V1.0でサポート はい いいえ ? はい はい はい はい はい はい
テンソルフローGoogle Brain2015 アパッチ2.0はい LinuxmacOSWindows[ 55 ] [ 56 ] AndroidC++PythonCUDAPython ( Keras )、C / C++JavaGoJavaScriptR[ 57 ] JuliaSwiftいいえ ロードマップ上[ 58 ]だが、SYCL [ 59 ]のサポート はすでにあるはい はい はい[ 60 ]はい[ 61 ]はい はい はい はい はい
テアノモントリオール大学2007 BSDはい クロスプラットフォームパイソンPythonKerasはい 開発中[ 62 ]はい いいえ はい[ 63 ] [ 64 ]ラザニアの模型動物園を通して[ 65 ]はい はい はい はい[ 66 ]いいえ
トーチローナン・コロベール、コライ・カブクオール、クレメント・ファラベット 2002 BSDはい LinuxmacOSWindows[ 67 ] Android[ 68 ] iOSCLuaLuaLuaJIT[ 69 ] C 、 C++ / OpenCL用ユーティリティライブラリ[ 70 ]はい サードパーティの実装[ 71 ] [ 72 ]はい[ 73 ] [ 74 ]いいえ TwitterのAutogradを通じて[ 75 ]はい[ 76 ]はい はい はい はい[ 67 ]いいえ
Wolfram Mathematica 10 [ 77 ]以降 ウルフラムリサーチ2014 独自のいいえ WindowsmacOSLinuxクラウドコンピューティングC++Wolfram言語CUDAウルフラム言語はい いいえ はい いいえ はい はい[ 78 ]はい はい はい はい[ 79 ]はい
ソフトウェア クリエイター 初回リリース ソフトウェアライセンス[ a ]
オープンソース
プラットフォーム 書かれた インタフェース OpenMPサポート OpenCLサポート CUDAサポート
ROCmのサポート[ 80 ]
自動微分法[ 2 ]事前学習済みモデルあり
並列実行(マルチノード)
積極的に開発
  1. ^ a bここでのライセンスは概要であり、ライセンスの完全な記述ではありません。一部のライブラリは、内部的に異なるライセンスで他のライブラリを使用している場合があります。

機械学習モデルの互換性の比較

フォーマット名 設計目標 他のフォーマットと互換性あり 自己完結型DNNモデル 前処理と後処理 チューニングとキャリブレーションのための実行時構成 DNNモデルの相互接続 共通プラットフォーム
TensorFlowKerasCaffeTorchアルゴリズムのトレーニング いいえ いいえ / ほとんどの形式でファイルを分割します いいえ いいえ いいえ はい
オンネクスアルゴリズムのトレーニング はい いいえ / ほとんどの形式でファイルを分割します いいえ いいえ いいえ はい

参照

参考文献

  1. ^ 「Deep Learning — ROCm 4.5.0 ドキュメント」 . 2022年12月5日時点のオリジナルよりアーカイブ2022年9月27日閲覧。
  2. ^ a b Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (2015年2月20日). 「機械学習における自動微分化:概観」. arXiv : 1502.05767 [ cs.LG ].
  3. ^ “Microsoft/caffe” . GitHub . 2021年10月30日.
  4. ^ 「Caffe: ディープラーニングのための高速オープンフレームワーク」 2019年7月19日 – GitHub経由。
  5. ^ “カフェ | 模型動物園” .カフェ.berkeleyvision.org
  6. ^ GitHub - BVLC/caffe: Caffe: ディープラーニングのための高速オープンフレームワーク。、Berkeley Vision and Learning Center、2019-09-25、2019-09-25取得
  7. ^ Preferred Networks がディープラーニング研究プラットフォームを PyTorch に移行、2019年12月5日、 2019年12月27日閲覧
  8. ^ 「Open CL のサポート · Issue #27 · deeplearning4j/nd4j」 . GitHub .
  9. ^ 「Java向けN次元科学計算」 2016年10月16日時点のオリジナルよりアーカイブ。 2016年2月5日閲覧
  10. ^ 「トップディープラーニングフレームワークの比較」 Deeplearning4j. 2017年11月7日時点のオリジナルよりアーカイブ2017年10月31日閲覧。
  11. ^ Chris Nicholson、Adam Gibson. 「Deeplearning4j Models」 . 2017年2月11日時点のオリジナルよりアーカイブ。 2016年3月2日閲覧
  12. ^ Deeplearning4j. 「Spark 上の Deeplearning4j」 . Deeplearning4j. 2017年7月13日時点のオリジナルよりアーカイブ2016年9月1日閲覧。{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)
  13. ^ 「メタルヘッド」 . FluxML。 2021年10月29日。
  14. ^ a b「インテル® データ・アナリティクス・アクセラレーション・ライブラリー (インテル® DAAL)」 . software.intel.com . 2018年11月20日.
  15. ^ 「Intel® Math Kernel Library リリースノートと新機能。Intel
  16. ^ 「Intel® Math Kernel Library (Intel® MKL)」 . software.intel.com . 2018年9月11日.
  17. ^ 「ディープニューラルネットワーク関数」 . software.intel.com . 2019年5月24日.
  18. ^ 「スレッド化されたアプリケーションでのインテル® MKLの使用」 . software.intel.com . 2017年6月1日.
  19. ^ a b「Intel® Xeon Phi™、ディープラーニングで競争力のあるパフォーマンスを実現し、急速に向上」 software.intel.com . 2019年3月21日。
  20. ^ 「アプリケーション - Keras ドキュメント」 . keras.io .
  21. ^ "Keras に RBM はありますか? · 問題 #461 · keras-team/keras" . GitHub
  22. ^ "Keras は複数の GPU の使用をサポートしていますか? · 問題 #2436 · keras-team/keras" . GitHub
  23. ^ 「GPU Coder - MATLAB & Simulink」 . MathWorks . 2017年11月13日閲覧
  24. ^ 「自動微分化の背景 - MATLAB & Simulink」 . MathWorks . 2019年9月3日. 2019年11月19日閲覧
  25. ^ a b c「Neural Network Toolbox - MATLAB」 . MathWorks . 2017年11月13日閲覧
  26. ^ 「ディープラーニングモデル - MATLAB & Simulink」 . MathWorks . 2017年11月13日閲覧
  27. ^ 「Parallel Computing Toolbox - MATLAB」 . MathWorks . 2017年11月13日閲覧
  28. ^ "マスターの CNTK/LICENSE.md · Microsoft/CNTK" . GitHub
  29. ^ 「マシンに CNTK をセットアップする。GitHub
  30. ^ 「CNTKの使用法の概要」。GitHub
  31. ^BrainScript ネットワークビルダー」。GitHub
  32. ^ ".NET サポート · 問題 #960 · Microsoft/CNTK" . GitHub .
  33. ^ 「複数のマシンを使用してモデルをトレーニングする方法? · Issue #59 · Microsoft/CNTK 。GitHub
  34. ^画像分類用の事前構築済みモデル · Issue #140 · microsoft/CNTK」。GitHub
  35. ^ a b「CNTK - 計算ネットワークツールキット」。Microsoft Corporation。
  36. ^ 「CNTKを使用した制限付きボルツマンマシン #534」 GitHub, Inc. 2016年5月27日. 2023年10月30日閲覧
  37. ^ 「複数の GPU とマシン」。Microsoft Corporation。
  38. ^ 「免責事項」。CNTKチーム。2021年11月6日。
  39. ^ 「リリース · dmlc/mxnet」 . Github .
  40. ^ 「インストールガイド — mxnetドキュメント。Readthdocs
  41. ^ 「MXNetスマートデバイス」 . ReadTheDocs . 2016年9月21日時点のオリジナルよりアーカイブ2016年5月19日閲覧。
  42. ^ "MXNet.js" . Github . 2021年10月28日.
  43. ^ 「— mxnet.io にリダイレクト」 . mxnet.readthedocs.io .
  44. ^ 「モデルギャラリー」 . GitHub . 2022年10月29日.
  45. ^ 「データ並列で複数の CPU/GPU 上で MXNet を実行する。GitHub
  46. ^ 「モデルタイプ」 2023年8月31日。
  47. ^ “PyTorch” . 2021年12月17日.
  48. ^ "Falbel D, Luraschi J (2023). torch: 'GPU'アクセラレーションを備えたテンソルとニューラルネットワーク" . torch.mlverse.org . 2023年11月28日閲覧
  49. ^ 「pytorchのOpenCLビルド:(進行中、使用不可) - hughperkins/pytorch-coriander」。2019年7月14日 – GitHub経由。
  50. ^ 「DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beil​​is/pytorch_dlprim」 2022年1月21日 – GitHub経由。
  51. ^ 「OpenCL サポート · Issue #488 · pytorch/pytorch。GitHub
  52. ^ 「PyTorchにおける制限付きボルツマンマシン(RBM)」GitHub2022年11月14日。
  53. ^ https://github.com/williamFalcon
  54. ^ https://lightning.ai/docs/litserve/how-tos/並列処理タイプ
  55. ^ 「pip を使用して TensorFlow をインストールする」
  56. ^ 「TensorFlow 0.12 で Windows のサポートが追加」
  57. ^ Allaire, JJ; Kalinowski, T.; Falbel, D.; Eddelbuettel, D.; Yuan, T.; Golding, N. (2023年9月28日). 「Tensorflow: R インターフェース to 'TensorFlow'」 . 包括的なRアーカイブネットワーク. 2023年10月30日閲覧。
  58. ^ "tensorflow/roadmap.md at master" . GitHub . 2017年1月23日. 2017年5月21日閲覧
  59. ^OpenCL サポート」。GitHub
  60. ^ "TensorFlow" . TensorFlow .
  61. ^ 「TensorFlow で構築されたモデルと例」 2019年7月19日 – GitHub経由。
  62. ^ 「GPUの使用:Theano 0.8.2ドキュメント」 。 2017年4月1日時点のオリジナルよりアーカイブ2016年1月21日閲覧。
  63. ^ 「勾配 - 記号微分 - Theano 1.0.0 ドキュメント」 . deeplearning.net .
  64. ^ 「自動微分と記号微分」
  65. ^ 「Recipes/modelzoo at master · Lasagne/Recipes」 . GitHub .
  66. ^ 「複数のGPUの使用 — Theano 1.0.0ドキュメント」。deeplearning.net
  67. ^ a b "torch/torch7" . 2019年7月18日 – GitHub経由.
  68. ^ “GitHub - soumith/torch-android: Android用Torch-7” . GitHub . 2021年10月13日.
  69. ^ 「Torch7: 機械学習のためのMATLABのような環境」(PDF)
  70. ^ 「GitHub - jonathantompson/jtorch: OpenCL Torchユーティリティライブラリ」 . GitHub . 2020年11月18日.
  71. ^ 「チートシート」 . GitHub .
  72. ^ "cltorch" . GitHub .
  73. ^Torch CUDA バックエンド」。GitHub
  74. ^nn用のTorch CUDAバックエンド」。GitHub
  75. ^ 「AutogradはネイティブTorchコードを自動的に区別します:twitter/torch-autograd」。2019年7月9日 – GitHub経由。
  76. ^ 「ModelZoo」 . GitHub .
  77. ^ 「Mathematica 10の起動。Wolfram
  78. ^ 「Wolfram Neural Net ニューラルネットワークモデルのリポジトリ。resources.wolframcloud.com
  79. ^ 「並列コンピューティング—Wolfram言語ドキュメントreference.wolfram.com
  80. ^ 「Deep Learning — ROCm 4.5.0 ドキュメント」 . 2022年12月5日時点のオリジナルよりアーカイブ2022年9月27日閲覧。