トップオープンソースの機械学習ツール

Google、Facebook、IBM、Microsoft、および有名な開発者を含むその他のハイテク大手は、すでに機敏な一歩を踏み出しています機械学習と人工知能非常にインテリジェントな機械を作成するという人間の夢を作るために。そして、将来のために意識的な機械を構築するこの旅に参加するために他の人を武装させるために、Techジャイアンツによるオープンソースツールが非常に多くのオープンソースツールを利用して、人工知能をアプリケーションに統合します。


しかし、人工知能と機械学習は非常に早い段階にあるため、SF映画のようなものを期待しないでください。しかし、開発者はAIに入っており、MLは、より良い音声認識、画像認識、音声支援、ニューラルネットワークの開発などのためにアプリを作成するために議論するオープンソースソフトウェアを使用できます。

Tensorflow


Tensorflow AI開発フレームワークは、機械学習にオープンソースライブラリを使用するGoogleのBrainチームの革新です。開発者は、ツールとコミュニティリソースの柔軟なエコシステムを使用して、最新のML駆動アプリケーションを開発できます。また、CUDA Deep Neural Network Libraryも含まれています。

モデルを構築および訓練するには、高レベルのKeras APIを使用し、複数のレベルの抽象化を提供して、プロジェクトに適したレベルを選択できるようにします。

さらに、モバイルデバイスの場合、2017年にGoogleはテンソルフローライトをリリースして、スマートフォンとアプリでディープラーニングモデルを使用しています。それはますます人気が高まっており、一部のデバイスは現在、対応するアプリケーションに特別なアクセラレータチップを使用しています。 Tensorflow機械学習ライブラリの使用をさらに改善するため。

大規模なMLトレーニングタスクの場合、モデル定義を変更せずに、さまざまなハードウェア構成に関する分散トレーニングに分布戦略APIが利用できます。

それをインストールするには、PIPが必要です。すでにPIPがある場合は、TensorFlowのCPUおよびGPUバージョンのコマンドがあります。

pip install tensorflow

Tensorflowの詳細をご覧くださいインストール

カフェディープラーニングフレームワーク


Caffeは、コマンドライン、Python、およびMatlabインターフェイスをサポートする純粋なC ++ / CUDAアーキテクチャオープンソースプロジェクトです。 CPUとGPUを直接切り替えることができます。モデルと対応する最適化は、コードではなくテキストに記載されています。 Caffeは、モデルの定義、最適化設定、および事前に訓練されたウェイトを提供するため、すぐに開始するのは簡単です。

Caffeは、Cudnnと組み合わせてAlexnetモデルをテストします。 K40で各画像を処理するのに1.17msしかかかりません。 Caffeが提供するさまざまなレイヤータイプを使用して、独自のモデルを定義できます。

たとえば、音声認識、画像の認識、分類、またはAIデバイスでの自然言語の開発には、Caffeを使用できます。

このプロジェクトを参照してくださいギルブページ。

CPU用のUbuntuにインストールできますsudo apt install caffe-cpuそしてGPUの場合sudo apt install caffe-cuda

Pythorch


Pytorchは、もう1つのオープンソースの機械学習フレームワークです。これには、Pytorchモデルを静的に型付けられたグラフに変換するコンパイラであるTorchscriptが含まれています。データサイエンティストは、熱心なモードで最適化と調整を実行し、モデルをトーチスクリプトに徐々に変換できます。 RNN、CNN、LSTMなど、その他の高レベルアルゴリズムなどのネットワークアーキテクチャを実装するために使用できます。

Pytorchは、しばらくの間、訓練されたモデルまたは訓練されていないモデルを標準化された形式にエクスポートするためのオープンニューラルネットワーク交換(ONNX)形式を知っています。 ONNXは、異なるフレームワーク間の交換を有効にし、たとえば、PytorchからTensorflowへのモデルの転送を簡素化し、その逆も同様です。

さらに、テンソルボードへの接続には、Torchaudio、Torchtext、TorchvisionなどのTochに基づいたPythonベースのライブラリが含まれています。

Pytorchについて詳しく知るWebサイトそしてギルブ

Microsoft CNTK- OpenSource Machine Learning Toolkit


MicrosoftのComputational Network Toolkit(CNTK)は、もともと音声認識の分野でより迅速に進歩するために開発されました。したがって、ディープラーニングツールキットは、デジタルアシスタントコルタナの音声認識を改善するために内部的に使用されました。 Microsoftは後に、オープンソースライセンスの下でGitHubのソフトウェアをリリースしました。したがって、誰でもそれを試すことができます。 CNTKは、Open Neural Network Exchange OnNX形式をサポートする最初の深部学習ツールキットの1つでもあります。

Microsoft Cognitive Toolkitは、ヘルプネットワーク説明言語(NDL)を備えた指示グラフを介した一連の計算手順としてニューラルネットワークを表します。

柔軟性があり、C ++、C#、Java、およびPythonをサポートしています。

Webサイトそしてギルブリンク

Scikit-Learn - Pythonを使用した機械学習


Scikit-Learnは、Scipy Toolkitから派生した別のPythonライブラリベースの機械学習フレームワークです。 Numpy、Scipy、Matplotlibなどのパッケージを使用して、Pythonで数学、科学的、統計プログラムを作成します。データマイニングとデータ分析に使用できます。

また、オープンソースであり、商業目的で利用できます。分類などのさまざまなカテゴリのアプリケーションを構築するために使用できます。オブジェクトが属するカテゴリを特定することができます。オブジェクトに関連付けられた連続値属性を予測する際。同様のオブジェクトのセットへの自動グループ。パラメーターとモデルの比較、検証、選択。機械学習アルゴリズム、AIボットなどで使用するテキストなどの入力データの変換…

Pythonで機械学習と人工知能ベースの人工知能を使用したい場合は、Scikit Learningの可能性を確認する必要があります。また、プロバイダーは、開発者がPythonとScikit-Learnを使用するために使用できるさまざまなチュートリアルも提供しています。

Webサイトそしてギルブ


Apache Mahout - ビッグデータの機械学習

Mahoutは、Apache HadoopとMapReduceに基づいたApache Software Foundation(ASF)に基づくオープンソースプロジェクトです。機械学習の分野における古典的なアルゴリズムのいくつかのスケーラブルな実装を提供し、開発者がスマートアプリケーションをより簡単かつ迅速に作成するのに役立ちます。 Mahoutには、クラスタリング、分類、フィルタリング、データマイニングなど、多くの実装が含まれます。さらに、Apache Hadoopライブラリを使用して、Mahoutをクラウドに効果的に拡張できます。

Webサイト

Spark Mllib


Apache Sparkは、大規模なデータ処理用に設計された高速で汎用コンピューティングエンジンです。 Sparkは、UC Berkeley Amp Lab(UC BerkeleyのAMP Lab)によってオープンソースがかけられているHadoop MapReduceのような汎用並列フレームワークです。 SparkにはHadoop MapReduceの利点があります。しかし、MapReduceとは異なり、ジョブの中間出力はメモリに保存できるため、HDFSを読み書きする必要はなくなるため、SparkはデータマイニングおよびMapReduceアルゴリズムを必要とする機械学習アルゴリズムにより適しています。

Mllib(機械学習LIB)は、一般的に使用される機械学習アルゴリズムのSparkの実装ライブラリです。また、関連するテストとデータジェネレーターも含まれます。 MLLIBは現在、分類、回帰、クラスタリング、および共同フィルタリングの4つの一般的な機械学習問題をサポートしています。

Spark Mllibは、Java、Scala、Python、R。MllibでSparkのAPIを使用し、PythonのNumpyと相互作用することができます。 Numpyは、ベクター、マトリックス、多次元配列を処理するために使用できるPythonライブラリです。

Webサイト

ケラス:Python Deep Learning Library


Kerasは、Pythonで書かれた高レベルのニューラルネットワークAPIで、Tensorflow、CNTK、Theano、またはMXNetの上で走ることができます。 2015年3月の最初のリリース以来、使いやすさと構文的なシンプルさに好意を獲得し、迅速な開発を促進しています。 Googleによってサポートされています。

他のエンドツーエンドの機械学習フレームワークとは異なり、インターフェイスとして機能します。高レベルの抽象化を使用するため、どのようなフレームワークに取り組んでいるかについて多くの注意を払うことなく、ニューラルネットワークの構成を簡単に処理できます。

Webサイトそしてギルブ

シーノ


TheanoはPythonに基づいており、多次元アレイの処理が得意なライブラリです(この点でNumpyに似ています)。深い学習において、大規模なニューラルネットワークアルゴリズムの操作を実行するように設計されています。 Theanoの初期の開発者は、Yoshua BengioとIan Goodfellowでした。彼らの学問的背景により、それはもともと学術研究のために設計されていました。他の深い学習ライブラリと組み合わせると、データ探索に非常に適しています。

Theanoは、数学的表現のコンパイラとしてよりよく理解できます。目的の結果をシンボリック言語で定義し、フレームワークがGPUまたはCPUで効率的に実行するためにプログラムをコンパイルします。

過去の長い間、Theanoは深い学習開発と研究の業界標準でした。深い学習ライブラリと比較して、それは研究プラットフォームのようなものです。必要なモデルを作成するには、下から多くの作業を行う必要があります。つまり、非常に柔軟です。

ツールがどれほど優れていても、彼らは歴史の段階から撤退しました。かつてアカデミックコミュニティの好意を獲得したTheanoも例外ではありません。

しかし、この深い学習フレームワークの主要な開発者は2017年に貢献を停止しましたが、そのコミュニティは依然としてGitHubではっきりと見られるプロジェクトを積極的にサポートしています。

Webサイトそしてギルブ

Oryx-ディープラーニングフレームワーク


Oryxは、KafkaとSparkのデータを使用して、Hadoopユーザーがリアルタイムの大規模な機械学習のモデルを構築できるようにするフレームワークでもあります。データは、さまざまなソースからリアルタイムで処理できます。

これは、アプリケーションを構築するためのフレームワークですが、共同フィルタリング、分類、回帰、クラスタリングのためのパッケージ化されたエンドツーエンドアプリケーションも含まれます。

Webサイトそしてギルブ

Accord.net機械学習フレームワーク


幅広い可能性を提供する.NETに基づくAccord.NET機械学習フレームワークは、機械学習、統計、オーディオと信号、カーネルメソッド、仮説テスト、人工知能、クラスタリング、コンピュータービジョンと画像処理に、Microsoft Windows、Xamarin、Unity3D、Linux、またはモバイルで商業用に使用するためのコンピュータービジョンと画像処理に使用できます。

人工ニューラルネットワークの数値的最適化や視覚化さえ処理するのに適した選択を証明できます。

詳細については、ご覧ください。accord.netまたはギルブ

MLPACK:C ++機械学習ライブラリ


MLPackは、C ++で書かれた優れた柔軟でメモリフレンドリーな機械学習プラットフォームを探している人向けです。 Python BindingsとC ++クラスで高速で、大規模な機械学習ソリューションに統合できます。まあ、ドキュメントに関しては、ユーザーは苦労する可能性があります。

ギルブそしてWebサイトリンク

ゲスト著者による提出:Tejas Arya

その他の記事: