目次[隠す][見せる]
ディープラーニングのフレームワークは、機械学習モデルを迅速かつ正確に定義およびトレーニングするためのインターフェース、ライブラリ、ツールの組み合わせで構成されています。
ディープラーニングは大量の非構造化非テキストデータを使用するため、「レイヤー」間の相互作用を制御し、入力データから学習して自律的な決定を行うことでモデル開発を高速化するフレームワークが必要です。
2021年の深層学習について学習することに興味がある場合は、以下に示すフレームワークのいずれかを使用することを検討してください。 目標とビジョンを達成するのに役立つものを選択することを忘れないでください。
1. TensorFlow
ディープラーニングについて話すとき、 TensorFlow 多くの場合、最初に言及されるフレームワークです。 非常に人気のあるこのフレームワークは、その作成を担当するGoogleだけでなく、Dropbox、eBay、Airbnb、Nvidiaなどの他の企業でも使用されています。
TensorFlowを使用して高レベルおよび低レベルのAPIを開発できるため、ほぼすべての種類のデバイスでアプリケーションを実行できます。 Pythonが主要言語ですが、Tensoflowのインターフェースには、C ++、Java、Julia、JavaScriptなどの他のプログラミング言語を使用してアクセスおよび制御できます。
オープンソースであるTensorFlowを使用すると、他のAPIといくつかの統合を行い、コミュニティから迅速なサポートと更新を得ることができます。 計算は「静的グラフ」に依存しているため、すぐに計算したり、別のときにアクセスできるように操作を保存したりできます。 これらの理由は、TensorBoardを介してニューラルネットワークの開発を「監視」できる可能性に加えて、TensorFlowをディープラーニングの最も人気のあるフレームワークにします。
主な機能
- オープンソース
- 柔軟性
- 高速デバッグ
2. パイトーチ
PyTorchは、Facebookがそのサービスの運用をサポートするために開発したフレームワークです。 オープンソースになって以来、このフレームワークは、SalesforceやUdacityなどのFacebook以外の企業でも使用されています。
このフレームワークは動的に更新されたグラフを操作し、データセットの処理中にデータセットのアーキテクチャを変更できるようにします。 PyTorchを使用すると、ディープラーニングの経験がなくても、ニューラルネットワークの開発とトレーニングが簡単になります。
オープンソースであり、Pythonに基づいているため、PyTorchに簡単かつ迅速に統合できます。 また、学習、使用、およびデバッグするためのシンプルなフレームワークでもあります。 質問がある場合は、PythonコミュニティとPyTorchコミュニティの両方のコミュニティからのすばらしいサポートとアップデートを頼りにできます。
主な機能
- 習得が容易
- GPUとCPUをサポート
- ライブラリを拡張するための豊富なAPIセット
3. Apache MXNet
その高いスケーラビリティ、高性能、高速なトラブルシューティング、および高度なGPUサポートにより、このフレームワークは、大規模な産業プロジェクトで使用するためにApacheによって作成されました。
MXNetには、すべてのスキルレベルの開発者が ディープラーニングを開始する クラウド、エッジデバイス、モバイルアプリ。 わずか数行のGluonコードで、線形回帰、畳み込みネットワーク、および反復LSTMを構築できます。 物体検出、音声認識、推奨、およびパーソナライズ。
MXNetはさまざまなデバイスで使用でき、いくつかのデバイスでサポートされています プログラミング言語 Java、R、JavaScript、Scala、Goなど。 コミュニティ内のユーザーとメンバーの数は少ないですが、MXNetには優れたドキュメントがあり、成長の大きな可能性があります。特に、AmazonがAWSでの機械学習の主要なツールとしてこのフレームワークを選択したためです。
主な機能
- 8つの言語バインディング
- 分散トレーニング、マルチCPUおよびマルチGPUシステムのサポート
- ハイブリッドフロントエンド。命令モードとシンボリックモードを切り替えることができます。
4. マイクロソフト認知ツールキット
Azureで実行されるアプリケーションまたはサービス(Microsoftクラウドサービス)の開発を検討している場合、Microsoft Cognitive Toolkitは、ディープラーニングプロジェクト用に選択するフレームワークです。 これはオープンソースであり、Python、C ++、C#、Javaなどのプログラミング言語でサポートされています。 このフレームワークは「人間の脳のように考える」ように設計されているため、高速なトレーニングと直感的なアーキテクチャを提供しながら、大量の非構造化データを処理できます。
このフレームワーク(Skype、Xbox、Cortanaの背後にあるものと同じ)を選択することで、アプリケーション、スケーラビリティ、およびAzureとの単純な統合から優れたパフォーマンスを得ることができます。 ただし、TensorFlowやPyTorchと比較すると、コミュニティとサポートのメンバー数は少なくなっています。
次のビデオは、完全な紹介とアプリケーションの例を提供します。
主な機能
- 明確なドキュメント
- Microsoftチームからのサポート
- 有向グラフの視覚化
5. ケラス
PyTorchと同様に、Kerasはデータ集約型プロジェクト用のPythonベースのライブラリです。 keras APIは高レベルで機能し、TensorFlow、Theano、MicrosoftCognitiveToolkitなどの低レベルAPIとの統合を可能にします。
ケラを使用することのいくつかの利点は、学習が簡単なことです。ディープラーニングの初心者に推奨されるフレームワークです。 その展開の速度; Pythonコミュニティおよびそれが統合されている他のフレームワークのコミュニティから多大なサポートを受けています。
Kerasには、さまざまな実装が含まれています ニューラルネットワークのビルディングブロック レイヤー、目的関数、活性化関数、数学オプティマイザーなど。 そのコードはGitHubでホストされており、フォーラムとSlackサポートチャネルがあります。 標準のサポートに加えて ニューラルネットワーク、Kerasは、畳み込みニューラルネットワークとリカレントニューラルネットワークのサポートを提供します。
ケラスは許可します 深層学習モデル iOS と Android の両方のスマートフォン、Java 仮想マシン、または Web 上で生成されます。 また、グラフィックス プロセッシング ユニット (GPU) とテンソル プロセッシング ユニット (TPU) のクラスター上でディープ ラーニング モデルの分散トレーニングを使用することもできます。
主な機能
- 事前トレーニング済みモデル
- 複数のバックエンドのサポート
- ユーザーフレンドリーで大規模なコミュニティサポート
6. アップルコアML
Core MLは、そのエコシステム(IOS、Mac OS、およびiPad OS)をサポートするためにAppleによって開発されました。 そのAPIは低レベルで動作し、CPUとGPUのリソースを有効に活用します。これにより、作成されたモデルとアプリケーションがインターネットに接続されていなくても実行を継続できるため、デバイスの「メモリフットプリント」と消費電力が削減されます。
Core MLがこれを実現する方法は、iPhone/iPadでの実行に最適化されたさらに別の機械学習ライブラリを作成することによるものではありません。 代わりに、Core MLは、他の機械学習ソフトウェアで表現されたモデル仕様とトレーニング済みパラメーターを受け取り、それをiOSアプリのリソースとなるファイルに変換するコンパイラのようなものです。 このコアMLモデルへの変換は、アプリが使用されているときにリアルタイムではなく、アプリの開発中に行われ、coremltoolspythonライブラリによって容易になります。
Core MLは、統合が容易な高速パフォーマンスを提供します 機械学習 アプリケーションへのモデル。 30を超えるタイプのレイヤー、決定木、サポートベクターマシン、線形回帰法を使用したディープラーニングをサポートします。これらはすべて、MetalやAccelerateなどの低レベルのテクノロジーの上に構築されています。
主な機能
- アプリへの統合が簡単
- インターネットアクセスを必要としない、ローカルリソースの最適な使用
- プライバシー:データがデバイスから離れる必要はありません
7. ONNX
リストの最後のフレームワークはONNXです。 このフレームワークは、さまざまなフレームワーク、ツール、ランタイム、およびコンパイラ間でモデルを転送および構築するプロセスを簡素化することを目的とした、MicrosoftとFacebookのコラボレーションから生まれました。
ONNXは、Microsoft Cognitive Toolkit、MXNet、Caffe、(コンバーターを使用)TensorflowやCore MLなどの低レベルAPIの利点を活用しながら、複数のプラットフォームで実行できる共通のファイルタイプを定義します。 ONNXの背後にある原則は、スタック上でモデルをトレーニングし、他の推論と予測を使用してモデルを実装することです。
LinuxFoundationのサブ組織であるLFAIFoundationは、サポートするエコシステムの構築を専門とする組織です。 オープンソースの 人工知能(AI)、機械学習(ML)、ディープラーニング(DL)の革新。 14年2019月XNUMX日に、大学院レベルのプロジェクトとしてONNXを追加しました。LFAIFoundationの傘下でのONNXのこの動きは、ベンダーに中立なオープンフォーマット標準としてONNXを確立する上での重要なマイルストーンと見なされました。
ONNX Model Zoo は、ディープ ラーニングで事前にトレーニングされたモデルのコレクションであり、ONNX 形式で利用できます。 各モデルには、 Jupyterノートブック モデルのトレーニングと、トレーニングされたモデルを使用した推論の実行。 ノートブックは Python で書かれており、へのリンクが含まれています。 トレーニングデータセット モデル アーキテクチャを説明する元の科学文書への参照。
主な機能
- フレームワークの相互運用性
- ハードウェアの最適化
まとめ
これは、 深い学習。 この目的のために、無料または有料のいくつかのフレームワークがあります。 プロジェクトに最適なものを選択するには、まず、アプリケーションを開発するプラットフォームを確認します。
TensorFlowやKerasなどの一般的なフレームワークは、開始するのに最適なオプションです。 ただし、OSまたはデバイス固有の利点を使用する必要がある場合は、CoreMLとMicrosoftCognitiveToolkitが最適なオプションである可能性があります。
Androidデバイス、他のマシン、およびこのリストに記載されていない特定の目的を対象とした他のフレームワークがあります。 後者のグループに興味がある場合は、Googleまたは他の機械学習サイトで彼らの情報を検索することをお勧めします。
コメントを残す