次の表は、ディープラーニングアプリケーション向けの主要なソフトウェア フレームワーク、ライブラリ、およびコンピュータ プログラムを比較したものです。
名前でわかるディープラーニングソフトウェア
| ソフトウェア | クリエイター | 初回リリース | ソフトウェアライセンス[ a ] | オープンソース | プラットフォーム | 書かれた | インタフェース | OpenMPサポート | OpenCLサポート | CUDAサポート | 自動微分法[ 2 ] | 事前学習済みモデルあり | 並列実行(マルチノード) | 積極的に開発 | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ビッグDL | ジェイソン・ダイ(インテル) | 2016 | アパッチ2.0 | はい | アパッチスパーク | スカラ | Scala、Python | いいえ | いいえ | はい | はい | はい | はい | |||||
| カフェ | バークレービジョンアンドラーニングセンター | 2013 | BSD | はい | Linux、macOS、Windows [ 3 ] | C++ | Python、MATLAB、C++ | はい | 開発中[ 4 ] | はい | いいえ | はい | はい[ 5 ] | はい | はい | いいえ | ? | いいえ[ 6 ] |
| チェイナー | 優先ネットワーク | 2015 | BSD | はい | Linux、macOS | パイソン | パイソン | いいえ | いいえ | はい | いいえ | はい | はい | はい | はい | いいえ | はい | いいえ[ 7 ] |
| ディープラーニング4j | Skymindエンジニアリングチーム; Deeplearning4jコミュニティ; 元はAdam Gibson | 2014 | アパッチ2.0 | はい | Linux、macOS、Windows、Android(クロスプラットフォーム) | C++、Java | Java、Scala、Clojure、Python ( Keras )、Kotlin | はい | いいえ[ 8 ] | はい[ 9 ] [ 10 ] | いいえ | 計算グラフ | はい[ 11 ] | はい | はい | はい | はい[ 12 ] | はい |
| ディープスピード | マイクロソフト | 2019 | アパッチ2.0 | はい | Linux、macOS、Windows | Python、C++、CUDA | パイソン | いいえ | いいえ | はい | いいえ | はい | はい | はい | はい | いいえ | はい | はい |
| ドリブ | デイビス・キング | 2002 | Boostソフトウェアライセンス | はい | クロスプラットフォーム | C++ | C++、Python | はい | いいえ | はい | いいえ | はい | はい | いいえ | はい | はい | はい | はい |
| ファスタイ | ファスト.ai | 2018 | アパッチ2.0 | はい | Linux、macOS、Windows | Python、CUDA | パイソン | いいえ | いいえ | はい | いいえ | はい | はい | はい | はい | いいえ | はい | はい |
| フラックス | マイク・イネス | 2017 | MITライセンス | はい | Linux、MacOS、Windows(クロスプラットフォーム) | ジュリア | ジュリア | はい | いいえ | はい | はい[ 13 ] | はい | はい | いいえ | はい | はい | ||
| ホロヴォド | ウーバーテクノロジーズ | 2017 | アパッチ2.0 | はい | Linux、macOS、Windows | Python、C++、CUDA | パイソン | いいえ | いいえ | はい | いいえ | はい | はい | はい | はい | いいえ | はい | はい |
| インテルデータ アナリティクス アクセラレーション ライブラリ | インテル | 2015 | アパッチ2.0 | はい | Intel CPU上のLinux、macOS、Windows [ 14 ] | C++、Python、Java | C++、Python、Java [ 14 ] | はい | いいえ | いいえ | いいえ | はい | いいえ | はい | はい | はい | ||
| インテルマス カーネル ライブラリ2017 [ 15 ]以降 | インテル | 2017 | 独自の | いいえ | Intel CPU上のLinux、macOS、Windows [ 16 ] | C/C++、DPC++、Fortran | C [ 17 ] | はい[ 18 ] | いいえ | いいえ | いいえ | はい | いいえ | はい[ 19 ] | はい[ 19 ] | いいえ | はい | |
| グーグルジャックス | グーグル | 2018 | アパッチ2.0 | はい | Linux、macOS、Windows | パイソン | パイソン | Linuxのみ | いいえ | はい | いいえ | はい | はい | |||||
| ケラス | フランソワ・ショレ | 2015 | MITライセンス | はい | Linux、macOS、Windows | パイソン | Python、R | Theanoをバックエンドとして使用する場合のみ | バックエンドとしてTheano、Tensorflow、PlaidMLを使用できる | はい | いいえ | はい | はい[ 20 ] | はい | はい | いいえ[ 21 ] | はい[ 22 ] | はい |
| MATLAB + ディープラーニング ツールボックス (旧ニューラル ネットワーク ツールボックス) | マスワークス | 1992 | 独自の | いいえ | Linux、macOS、Windows | C、C++、Java、MATLAB | MATLAB | いいえ | いいえ | Parallel Computing Toolboxで学習し、GPU CoderでCUDAコードを生成する[ 23 ] | いいえ | はい[ 24 ] | はい[ 25 ] [ 26 ] | はい[ 25 ] | はい[ 25 ] | はい | 並列計算ツールボックスを使用[ 27 ] | はい |
| Microsoft 認知ツールキット(CNTK) | マイクロソフトリサーチ | 2016 | MITライセンス[ 28 ] | はい | Windows、Linux [ 29 ](ロードマップではDocker経由のmacOSも) | C++ | Python ( Keras )、C++、コマンドライン、[ 30 ] BrainScript [ 31 ] ( .NETはロードマップ上[ 32 ] ) | はい[ 33 ] | いいえ | はい | いいえ | はい | はい[ 34 ] | はい[ 35 ] | はい[ 35 ] | いいえ[ 36 ] | はい[ 37 ] | いいえ[ 38 ] |
| マインドスポア | ファーウェイ | 2020 | アパッチ2.0 | はい | Linux、Windows、macOS、EulerOS、openEuler、OpenHarmony、Oniro OS、HarmonyOS、Android | C++、Rust、Julia、Python、ArkTS、Cangjie、Java (Lite) | ||||||||||||
| ML.NET | マイクロソフト | 2018 | MITライセンス | はい | Windows、Linux、macOS | C#、C++ | C#、F# | はい | ||||||||||
| アパッチMXNet | Apacheソフトウェア財団 | 2015 | アパッチ2.0 | はい | Linux、macOS、Windows、[ 39 ] [ 40 ] AWS、Android、[ 41 ] iOS、JavaScript [ 42 ] | 小さなC++コアライブラリ | C++、Python、Julia、MATLAB、JavaScript、Go、R、Scala、Perl、Clojure | はい | いいえ | はい | いいえ | はい[ 43 ] | はい[ 44 ] | はい | はい | はい | はい[ 45 ] | いいえ |
| ニューラルデザイナー | アルテルニクス | 2014 | 独自の | いいえ | Linux、macOS、Windows | C++ | グラフィカルユーザーインターフェース | はい | いいえ | はい | いいえ | 解析的微分化 | いいえ | いいえ | いいえ | いいえ | はい | はい |
| オープンNN | アルテルニクス | 2003 | GNU LGPL | はい | クロスプラットフォーム | C++ | C++ | はい | いいえ | はい | いいえ | ? | はい[ 46 ] | いいえ | いいえ | いいえ | ? | はい |
| プレイドML | Vertex.AI、インテル | 2017 | アパッチ2.0 | はい | Linux、macOS、Windows | Python、C++、OpenCL | Python、C++ | ? | 一部のOpenCL ICDは認識されません | いいえ | いいえ | はい | はい | はい | はい | はい | はい | |
| パイトーチ | メタAI | 2016 | BSD | はい | Linux、macOS、Windows、Android [ 47 ] | Python、C、C++、CUDA | Python、C++、Julia、R [ 48 ] | はい | 別途管理されたパッケージ経由[ 49 ] [ 50 ] [ 51 ] | はい | はい | はい | はい | はい | はい | はい[ 52 ] | はい | はい |
| PyTorch ライトニング | Lightning-AI(元ウィリアム・ファルコン)[ 53 ] | 2019 | アパッチ2.0 | はい | Linux、macOS、Windows | パイソン | パイソン | はい | PyTorch経由 | はい | はい | はい | はい | はい | はい | はい | はい[ 54 ] | はい |
| アパッチ・シンガ | Apacheソフトウェア財団 | 2015 | アパッチ2.0 | はい | Linux、macOS、Windows | C++ | Python、C++、Java | いいえ | V1.0でサポート | はい | いいえ | ? | はい | はい | はい | はい | はい | はい |
| テンソルフロー | Google Brain | 2015 | アパッチ2.0 | はい | Linux、macOS、Windows、[ 55 ] [ 56 ] Android | C++、Python、CUDA | Python ( Keras )、C / C++、Java、Go、JavaScript、R、[ 57 ] Julia、Swift | いいえ | ロードマップ上[ 58 ]だが、SYCL [ 59 ]のサポート はすでにある | はい | はい | はい[ 60 ] | はい[ 61 ] | はい | はい | はい | はい | はい |
| テアノ | モントリオール大学 | 2007 | BSD | はい | クロスプラットフォーム | パイソン | Python(Keras) | はい | 開発中[ 62 ] | はい | いいえ | はい[ 63 ] [ 64 ] | ラザニアの模型動物園を通して[ 65 ] | はい | はい | はい | はい[ 66 ] | いいえ |
| トーチ | ローナン・コロベール、コライ・カブクオール、クレメント・ファラベット | 2002 | BSD | はい | Linux、macOS、Windows、[ 67 ] Android、[ 68 ] iOS | C、Lua | Lua、LuaJIT、[ 69 ] C 、 C++ / OpenCL用ユーティリティライブラリ[ 70 ] | はい | サードパーティの実装[ 71 ] [ 72 ] | はい[ 73 ] [ 74 ] | いいえ | TwitterのAutogradを通じて[ 75 ] | はい[ 76 ] | はい | はい | はい | はい[ 67 ] | いいえ |
| Wolfram Mathematica 10 [ 77 ]以降 | ウルフラムリサーチ | 2014 | 独自の | いいえ | Windows、macOS、Linux、クラウドコンピューティング | C++、Wolfram言語、CUDA | ウルフラム言語 | はい | いいえ | はい | いいえ | はい | はい[ 78 ] | はい | はい | はい | はい[ 79 ] | はい |
| ソフトウェア | クリエイター | 初回リリース | ソフトウェアライセンス[ a ] | オープンソース | プラットフォーム | 書かれた | インタフェース | OpenMPサポート | OpenCLサポート | CUDAサポート | 自動微分法[ 2 ] | 事前学習済みモデルあり | 並列実行(マルチノード) | 積極的に開発 |
機械学習モデルの互換性の比較
| フォーマット名 | 設計目標 | 他のフォーマットと互換性あり | 自己完結型DNNモデル | 前処理と後処理 | チューニングとキャリブレーションのための実行時構成 | DNNモデルの相互接続 | 共通プラットフォーム |
|---|---|---|---|---|---|---|---|
| TensorFlow、Keras、Caffe、Torch | アルゴリズムのトレーニング | いいえ | いいえ / ほとんどの形式でファイルを分割します | いいえ | いいえ | いいえ | はい |
| オンネクス | アルゴリズムのトレーニング | はい | いいえ / ほとんどの形式でファイルを分割します | いいえ | いいえ | いいえ | はい |
参照
- 数値解析ソフトウェアの比較
- 統計パッケージの比較
- 認知アーキテクチャの比較
- オープンソースの人工知能ソフトウェアのリスト
- 機械学習研究用データセット一覧
- 数値解析ソフトウェア一覧
- MLIR コンパイラ—機械学習、ハードウェアアクセラレーション、高レベル合成向けに設計されたLLVMのサブプロジェクト。
- tinygrad — George Hotzが開発中
参考文献
- ^ 「Deep Learning — ROCm 4.5.0 ドキュメント」 . 2022年12月5日時点のオリジナルよりアーカイブ。2022年9月27日閲覧。
- ^ a b Atilim Gunes Baydin; Barak A. Pearlmutter; Alexey Andreyevich Radul; Jeffrey Mark Siskind (2015年2月20日). 「機械学習における自動微分化:概観」. arXiv : 1502.05767 [ cs.LG ].
- ^ “Microsoft/caffe” . GitHub . 2021年10月30日.
- ^ 「Caffe: ディープラーニングのための高速オープンフレームワーク」 2019年7月19日 – GitHub経由。
- ^ “カフェ | 模型動物園” .カフェ.berkeleyvision.org。
- ^ GitHub - BVLC/caffe: Caffe: ディープラーニングのための高速オープンフレームワーク。、Berkeley Vision and Learning Center、2019-09-25、2019-09-25取得
- ^ Preferred Networks がディープラーニング研究プラットフォームを PyTorch に移行、2019年12月5日、 2019年12月27日閲覧
- ^ 「Open CL のサポート · Issue #27 · deeplearning4j/nd4j」 . GitHub .
- ^ 「Java向けN次元科学計算」 2016年10月16日時点のオリジナルよりアーカイブ。 2016年2月5日閲覧。
- ^ 「トップディープラーニングフレームワークの比較」 Deeplearning4j. 2017年11月7日時点のオリジナルよりアーカイブ。2017年10月31日閲覧。
- ^ Chris Nicholson、Adam Gibson. 「Deeplearning4j Models」 . 2017年2月11日時点のオリジナルよりアーカイブ。 2016年3月2日閲覧。
- ^ Deeplearning4j. 「Spark 上の Deeplearning4j」 . Deeplearning4j. 2017年7月13日時点のオリジナルよりアーカイブ。2016年9月1日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ 「メタルヘッド」 . FluxML。 2021年10月29日。
- ^ a b「インテル® データ・アナリティクス・アクセラレーション・ライブラリー (インテル® DAAL)」 . software.intel.com . 2018年11月20日.
- ^ 「Intel® Math Kernel Library リリースノートと新機能」。Intel 。
- ^ 「Intel® Math Kernel Library (Intel® MKL)」 . software.intel.com . 2018年9月11日.
- ^ 「ディープニューラルネットワーク関数」 . software.intel.com . 2019年5月24日.
- ^ 「スレッド化されたアプリケーションでのインテル® MKLの使用」 . software.intel.com . 2017年6月1日.
- ^ a b「Intel® Xeon Phi™、ディープラーニングで競争力のあるパフォーマンスを実現し、急速に向上」 software.intel.com . 2019年3月21日。
- ^ 「アプリケーション - Keras ドキュメント」 . keras.io .
- ^ "Keras に RBM はありますか? · 問題 #461 · keras-team/keras" . GitHub。
- ^ "Keras は複数の GPU の使用をサポートしていますか? · 問題 #2436 · keras-team/keras" . GitHub。
- ^ 「GPU Coder - MATLAB & Simulink」 . MathWorks . 2017年11月13日閲覧。
- ^ 「自動微分化の背景 - MATLAB & Simulink」 . MathWorks . 2019年9月3日. 2019年11月19日閲覧。
- ^ a b c「Neural Network Toolbox - MATLAB」 . MathWorks . 2017年11月13日閲覧。
- ^ 「ディープラーニングモデル - MATLAB & Simulink」 . MathWorks . 2017年11月13日閲覧。
- ^ 「Parallel Computing Toolbox - MATLAB」 . MathWorks . 2017年11月13日閲覧。
- ^ "マスターの CNTK/LICENSE.md · Microsoft/CNTK" . GitHub。
- ^ 「マシンに CNTK をセットアップする」。GitHub 。
- ^ 「CNTKの使用法の概要」。GitHub 。
- ^「BrainScript ネットワークビルダー」。GitHub 。
- ^ ".NET サポート · 問題 #960 · Microsoft/CNTK" . GitHub .
- ^ 「複数のマシンを使用してモデルをトレーニングする方法? · Issue #59 · Microsoft/CNTK 」。GitHub 。
- ^「画像分類用の事前構築済みモデル · Issue #140 · microsoft/CNTK」。GitHub 。
- ^ a b「CNTK - 計算ネットワークツールキット」。Microsoft Corporation。
- ^ 「CNTKを使用した制限付きボルツマンマシン #534」 GitHub, Inc. 2016年5月27日. 2023年10月30日閲覧。
- ^ 「複数の GPU とマシン」。Microsoft Corporation。
- ^ 「免責事項」。CNTKチーム。2021年11月6日。
- ^ 「リリース · dmlc/mxnet」 . Github .
- ^ 「インストールガイド — mxnetドキュメント」。Readthdocs 。
- ^ 「MXNetスマートデバイス」 . ReadTheDocs . 2016年9月21日時点のオリジナルよりアーカイブ。2016年5月19日閲覧。
- ^ "MXNet.js" . Github . 2021年10月28日.
- ^ 「— mxnet.io にリダイレクト」 . mxnet.readthedocs.io .
- ^ 「モデルギャラリー」 . GitHub . 2022年10月29日.
- ^ 「データ並列で複数の CPU/GPU 上で MXNet を実行する」。GitHub 。
- ^ 「モデルタイプ」 2023年8月31日。
- ^ “PyTorch” . 2021年12月17日.
- ^ "Falbel D, Luraschi J (2023). torch: 'GPU'アクセラレーションを備えたテンソルとニューラルネットワーク" . torch.mlverse.org . 2023年11月28日閲覧。
- ^ 「pytorchのOpenCLビルド:(進行中、使用不可) - hughperkins/pytorch-coriander」。2019年7月14日 – GitHub経由。
- ^ 「DLPrimitives/OpenCL out of tree backend for pytorch - artyom-beilis/pytorch_dlprim」 2022年1月21日 – GitHub経由。
- ^ 「OpenCL サポート · Issue #488 · pytorch/pytorch」。GitHub 。
- ^ 「PyTorchにおける制限付きボルツマンマシン(RBM)」GitHub。2022年11月14日。
- ^ https://github.com/williamFalcon
- ^ https://lightning.ai/docs/litserve/how-tos/並列処理タイプ
- ^ 「pip を使用して TensorFlow をインストールする」。
- ^ 「TensorFlow 0.12 で Windows のサポートが追加」。
- ^ Allaire, JJ; Kalinowski, T.; Falbel, D.; Eddelbuettel, D.; Yuan, T.; Golding, N. (2023年9月28日). 「Tensorflow: R インターフェース to 'TensorFlow'」「 . 包括的なRアーカイブネットワーク. 2023年10月30日閲覧。
- ^ "tensorflow/roadmap.md at master" . GitHub . 2017年1月23日. 2017年5月21日閲覧。
- ^「OpenCL サポート」。GitHub 。
- ^ "TensorFlow" . TensorFlow .
- ^ 「TensorFlow で構築されたモデルと例」 2019年7月19日 – GitHub経由。
- ^ 「GPUの使用:Theano 0.8.2ドキュメント」 。 2017年4月1日時点のオリジナルよりアーカイブ。2016年1月21日閲覧。
- ^ 「勾配 - 記号微分 - Theano 1.0.0 ドキュメント」 . deeplearning.net .
- ^ 「自動微分と記号微分」。
- ^ 「Recipes/modelzoo at master · Lasagne/Recipes」 . GitHub .
- ^ 「複数のGPUの使用 — Theano 1.0.0ドキュメント」。deeplearning.net 。
- ^ a b "torch/torch7" . 2019年7月18日 – GitHub経由.
- ^ “GitHub - soumith/torch-android: Android用Torch-7” . GitHub . 2021年10月13日.
- ^ 「Torch7: 機械学習のためのMATLABのような環境」(PDF)。
- ^ 「GitHub - jonathantompson/jtorch: OpenCL Torchユーティリティライブラリ」 . GitHub . 2020年11月18日.
- ^ 「チートシート」 . GitHub .
- ^ "cltorch" . GitHub .
- ^「Torch CUDA バックエンド」。GitHub 。
- ^「nn用のTorch CUDAバックエンド」。GitHub 。
- ^ 「AutogradはネイティブTorchコードを自動的に区別します:twitter/torch-autograd」。2019年7月9日 – GitHub経由。
- ^ 「ModelZoo」 . GitHub .
- ^ 「Mathematica 10の起動」。Wolfram 。
- ^ 「Wolfram Neural Net ニューラルネットワークモデルのリポジトリ」。resources.wolframcloud.com 。
- ^ 「並列コンピューティング—Wolfram言語ドキュメント」reference.wolfram.com。
- ^ 「Deep Learning — ROCm 4.5.0 ドキュメント」 . 2022年12月5日時点のオリジナルよりアーカイブ。2022年9月27日閲覧。