包括的なデータサイエンスC/C++機械学習ライブラリコレクション、Baidu検索は不要

包括的なデータサイエンスC/C++機械学習ライブラリコレクション、Baidu検索は不要

はじめにと動機 - なぜ C++ なのか?

C++ は、動的負荷分散、適応型キャッシュ、大規模なデータ フレームワークとライブラリの開発に最適です。 Google の MapReduce、MongoDB、および以下にリストされているディープラーニング ライブラリのほとんどは C++ で実装されています。超低レイテンシと極めて高いスループットで知られる Scylla は、Apache Cajund と Amazon DynamoDB の代替として C++ でコーディングされています。

[[348018]]

プログラミング言語としての独自の利点(メモリ管理、パフォーマンス特性、システム プログラミングなど)を備えた C++ は、高速でスケーラブルなデータ サイエンスと大規模データベースを開発するための最も効果的なツールの 1 つです。

さらに、Julia (MIT で開発されたコンパイル型インタラクティブ言語) は、科学計算とデータ処理の分野で Python の潜在的な競合相手として浮上しています。高速な処理速度、並列処理、静的および動的型付け、プラグイン ライブラリの C++ バインディングにより、開発者やデータ サイエンティストがデータ サイエンスやビッグ データに C++ を統合して使用する作業が簡素化されます。

1. Google AI の TensorFlow

Google が開発した人気のディープラーニング ライブラリで、独自のツール、ライブラリ、コミュニティ リソースのエコシステムを備えており、研究者や開発者が ML を活用したアプリケーションを簡単に構築およびデプロイできます。

公式ドキュメント: https://www.tensorflow.org/lite/microcontrollers/library

GitHub: https://github.com/tensorflow/serving

2. カフェ・アット・バークレー

Berkeley Vision and Learning Center は、高速な特徴埋め込みまたは Caffe C++ 畳み込みアーキテクチャのためのディープラーニング フレームワークを開発しました。

GitHub: https://github.com/intel/caffe

3. Microsoft コグニティブ ツールキット (CNTK)

Microsoft Cognitive Toolkit は、有向グラフを通じてニューラル ネットワークを一連の計算ステップに変換するのに役立つ統合ディープ ラーニング ツールキットです。

GitHub: https://github.com/microsoft/CNTK

4. mlpackライブラリ

mlpack は、C++ で記述された高速で柔軟な機械学習ライブラリであり、Python バインディング、Julia バインディング、C++ クラスを使用して最先端の機械学習アルゴリズムを提供します。

GitHub: https://github.com/mlpack/mlpack

5. ダイネット

Dynamic Neural Network Toolkit (動的計算グラフをサポート)、または DyNet は、CPU または GPU 上で効率的に実行できる C++ (Python バインディング付き) で記述された高性能ニューラル ネットワーク ライブラリです。自然言語処理、グラフ構造、強化学習などをサポートします。

GitHub: https://github.com/clab/dynet

6. 将軍

Shogun は、複数のデータ表現、アルゴリズム クラス、データ パイプラインの迅速なプロトタイピングのための一般的なツールの組み合わせなど、効率的で統合された機械学習手法を幅広く提供するオープン ソースの機械学習ライブラリです。

GitHub: https://github.com/shogun-toolbox/shogun

7. ファン

高速人工ニューラル ネットワーク (FANN) は、完全接続ネットワークと疎接続ネットワークの両方をサポートする C 言語の多層人工ニューラル ネットワークです。固定小数点と浮動小数点の両方でクロスプラットフォーム実行をサポートします。さらに、トポロジーベースの進化型トレーニングとバックプロパゲーションベースの DL モデル トレーニングもサポートします。

GitHub: https://github.com/libfann/fann

8. オープンNN

OpenNN は、分類、回帰、予測などをサポートする高度な分析のためのオープンソース (C/C++) ニューラル ネットワーク高性能ライブラリです。

GitHub: https://github.com/Artelnics/opennn

9. SHARKライブラリ

Shark は、アプリケーションおよび研究向けの高速でモジュール化された汎用オープン ソース 機械学習ライブラリ (C/C++) であり、線形および非線形最適化、カーネルベースの学習アルゴリズム、ニューラル ネットワーク、およびその他のさまざまな機械学習手法をサポートしています。

GitHub: https://github.com/Shark-ML/Shark

10. アルマジロ

Armadillo は、Matlab に似た機能を備えた線形代数 (C/C++) ライブラリです。このライブラリは、研究コードをパターン認識、コンピューター ビジョン、信号処理、バイオインフォマティクス、統計、計量経済学などに迅速に変換することで有名です。

11. ファイシス

faiss: このライブラリ (C/C++) は、密なベクトルの効率的な類似性検索とクラスタリングを目的としています。 RAM に収まらない可能性のある任意のサイズのベクトル セットを検索するためのアルゴリズムが含まれています。また、CUDA 経由のオプションの GPU とオプションの Python インターフェイスもサポートします。

GitHub: https://github.com/facebookresearch/faiss

12. ランダムフォレスト

  • https://github.com/zhufangzhou/ランダムフォレスト
  • https://github.com/bjoern-andres/ランダムフォレスト

13. ブースト

XGBoost - 並列最適化を備えた汎用勾配ブースティング ライブラリ。

GitHub: https://github.com/dmlc/xgboost

ThunderGBM - GPU 上の GBDT およびランダム フォレスト用の高速ライブラリ。

GitHub: https://github.com/Xtra-Computing/thundergbm

LightGBM - ランキング、分類、その他多くの機械学習タスクのための決定木アルゴリズムに基づく、高速で分散された高性能の勾配ブースティング (GBDT、GBRT、GBM、または MART) フレームワーク。

GitHub: https://github.com/Microsoft/LightGBM

CatBoost - カテゴリ特徴をすぐにサポートする、決定木のライブラリでの汎用勾配ブースティング。インストールが簡単で、高速な推論実装が含まれており、CPU と GPU (マルチ GPU も) の計算をサポートします。

GitHub: https://github.com/catboost/catboost

14. 推薦システム

Recommender - 協調フィルタリング (CF) を使用して製品を推奨するための C ライブラリ。

GitHub: https://github.com/GHamrouni/Recommender

ハイブリッド レコメンダー システム – scikit-learn アルゴリズムに基づくハイブリッド レコメンダー システム。

GitHub: https://github.com/SeniorSA/hybrid-rs-trainner

15. 自然言語処理

BLLIP パーサー - BLLIP 自然言語パーサー (Charniak-Johnson パーサーとも呼ばれます)。

GitHub: https://github.com/BLLIP/bllip-parser

colibri-core – 基本的な言語構造 (n-gram や skiagram など) を高速かつメモリ効率よく抽出して処理するための C++ ライブラリ、コマンドライン ツール、および Python バインディング。

GitHub: https://github.com/proycon/colibri-core

CRF++ – シーケンシャルデータのセグメント化/ラベル付けやその他の自然言語処理タスクのための条件付きランダムフィールド (CLF) のオープンソース実装。 [非推奨]

GitHub: https://github.com/taku910/crfpp

CRFsuite - CRFifsuite は、連続データにラベルを付ける条件付きランダム フィールド (CLF) の実装です。 [非推奨]

GitHub: https://github.com/chokkan/crfsuite

CRF モデル - さまざまなディープラーニングに基づく CRF モデル。 frog – オランダ語用のメモリベースの NLP スイート: PoS タグ付け、レンマタイザー、依存関係解析、NER、浅いパーサー、形態素解析。

GitHub: https://github.com/topics/crf-model

MeTA -- ModErn Text Analytics は、テキストのトークン化、解析ツリー、トピック モデル、分類アルゴリズム、グラフ アルゴリズム、言語モデル、マルチスレッド アルゴリズムなどの深い意味機能を含む、大規模なテキスト データのマイニングに役立つ C++ データ サイエンス ツールキットです。

公式ドキュメント: https://meta-toolkit.org/

MIT 情報抽出ツールキット - 名前付きエンティティの認識と関係抽出のための C、C++、および Python ツール

GitHub: https://github.com/mit-nlp/MITIE

ucto – FoLiA 形式をサポートする、さまざまな言語用の Unicode 対応の正規表現トークナイザー、ツール、および C++ ライブラリ。

GitHub: https://github.com/LanguageMachines/ucto

16. データストリームマイニング

StreamDM: 次のアルゴリズムをサポートする大規模なデータ ストリームのマイニングに適しています。

GitHub: https://github.com/huawei-noah/streamDM-Cpp

SGD学習器とパーセプトロン:

  • ナイーブベイズ
  • クルストリーム
  • ホーフディング決定木
  • 袋詰め
  • ストリームKM++

データジェネレーター:

  • ハイパープレーンジェネレータ
  • ランダムツリージェネレータ
  • ランダムRBFジェネレータ
  • ランダムRBFイベントジェネレータ

17. データ構造/グラフ/動的プログラミングアルゴリズム

GitHub: https://github.com/TheAlgorithms/C-Plus-Plus

18. 一般的な機械学習

Darknet – Darknet は、CPU および GPU コンピューティングをサポートする、C および CUDA で記述されたオープンソースのニューラル ネットワーク フレームワークです。

GitHub: https://github.com/pjreddie/darknet

cONNXr – 小型組み込みデバイスに重点を置いた、依存性のない純粋な C (99) で書かれた ONNX ランタイム。トレーニングに使用したフレームワークに関係なく、機械学習モデルで推論を実行します。非常に古いデバイスでも、どこにでも簡単にインストールしてコンパイルできます。

GitHub: https://github.com/alrevuelta/cONNXr

BanditLib – シンプルなマルチアーム Bandit ライブラリ。 [非推奨]

GitHub: https://github.com/jkomiyama/banditlib

CUDA - これは畳み込み深層学習の高速な C++/CUDA 実装です。

公式ドキュメント: https://code.google.com/p/cuda-convnet/

DeepDetect – C++11 で記述された機械学習 API とサーバー。最先端の機械学習を簡単に使用し、既存のアプリケーションに統合できるようになります。

GitHub: https://github.com/jolibrain/deepdetect

分散機械学習ツールキット (DMTK) – Microsoft の分散機械学習 (パラメーター サーバー) フレームワーク。複数のマシンにわたる大規模なデータセットでモデルのトレーニングを可能にします。現在バンドルされているツールには、LightLDA と分散 (多感覚) 単語埋め込みが含まれます。

公式サイト: https://www.dmtk.io/ (無効)

DLib – 他のアプリケーションに簡単にインストールできるように設計された ML ツールのセット。

公式サイト: http://dlib.net/ml.html

DSSTNE – 実験の柔軟性よりも速度とスケーラビリティを重視した GPU を使用してディープ ニューラル ネットワークをトレーニングおよび展開するために Amazon が作成したソフトウェア ライブラリ。

GitHub: https://github.com/amazon-archives/amazon-dsstne

Fido – 組み込み電子機器およびロボット向けの高度にモジュール化された C++ 機械学習ライブラリ。

GitHub: https://github.com/FidoProject/Fido

igraph – 汎用グラフライブラリ。

公式ドキュメント: https://igraph.org/

Intel DAAL – Intel によって開発され、Intel アーキテクチャ向けに最適化された高性能ソフトウェア ライブラリ。このライブラリは、データ分析のすべての段階にアルゴリズムの構成要素を提供し、バッチ、オンライン、分散モードでデータを処理できるようにします。

GitHub: https://github.com/oneapi-src/oneDAL

libfm – 特徴エンジニアリングを介してほとんどの因数分解モデルをシミュレートする一般的な方法。

GitHub: https://github.com/srendle/libfm

MLDB (機械学習データベース) は、機械学習用に設計されたデータベースです。 RESTful API を介してコマンドを送信してデータを保存し、SQL を使用してデータを探索し、機械学習モデルをトレーニングして API として公開します。

公式ドキュメント: https://mldb.ai/

MXNet - 動的で変異を考慮したデータフロー依存関係スケジューラを備えた、軽量でポータブル、柔軟な分散/モバイル ディープラーニング。Python、R、Julia、Go、Javascript などで動作します。

GitHub: https://github.com/apache/incubator-mxnet

proNet-core -- 一般的なネットワーク埋め込みフレームワーク: ペア表現最適化ネットワーク編集。

GitHub: https://github.com/cnclabs/proNet-core

PyCUDA – CUDA への Python インターフェース

公式ドキュメント: https://mathema.tician.de/software/pycuda/

ROOT - モジュール式の科学ソフトウェア フレームワーク。ビッグデータの処理、統計分析、視覚化、およびストレージを処理するために必要なすべての機能を提供します。

公式サイト: https://root.cern.ch/

sofia-ml – 高速増分アルゴリズムのスイート。

公式サイト: https://code.google.com/archive/p/sofia-ml

Stan – ハミルトンモンテカルロサンプリングを使用して完全なベイズ統計的推論を実装する確率的プログラミング言語。

公式ドキュメント: https://mc-stan.org/

Timbl – いくつかのメモリベースの学習アルゴリズムを実装するソフトウェア パッケージ/C++ ライブラリ。そのうち、IB1-IG は k 最近傍分類の実装であり、IGTree は NLP で一般的に使用される IB1-IG の決定木近似です。

GitHub: https://languagemachines.github.io/timbl/

Vowpal Wabbit(VW) – 高速コア学習システム。

GitHub: https://github.com/VowpalWabbit/vowpal_wabbit

Warp-CTC – CPU と GPU 上でのコネクショニスト時間分類 (CTC) の高速かつ並列な実装。

GitHub: https://github.com/baidu-research/warp-ctc

ThunderSVM – GPU と CPU 上の高速 SVM ライブラリ。

GitHub: https://github.com/Xtra-Computing/thundersvm

LKYDeepNN – ヘッダーのみの C++11 ニューラル ネットワーク ライブラリ。依存性が低い、ローカルの繁体字中国語ドキュメント。

GitHub: https://github.com/mosdeo/LKYDeepNN

xLearn - 大規模な機械学習の問題を解決するために使用できる、高性能で使いやすく、スケーラブルな機械学習スイートです。 xLearn は、オンライン広告やレコメンデーション システムなどのインターネット サービスで非常に一般的な、大規模なスパース データでの機械学習の問題を解決するのに特に役立ちます。

GitHub: https://github.com/aksnzhy/xlearn

Featuretools – 自動化された機能エンジニアリング用のライブラリ。再利用可能な特徴エンジニアリング「プリミティブ」を使用して、トランザクションおよびリレーショナル データセットを機械学習用の特徴マトリックスに変換することに優れています。

GitHub: https://github.com/FeatureLabs/featuretools

skynet – C インターフェースと JSON のネットセットを備えたニューラル ネットワークを学習するためのライブラリ。 C++ で記述されており、Python、C++、C# のバインディングを備えています。

GitHub: https://github.com/Tyill/skynet

Feast – 機械学習機能を管理、発見、アクセスするための機能ストア。 Feast は、モデルのトレーニングとモデルの提供のための特徴データの一貫したビューを提供します。

GitHub: https://github.com/feast-dev/feast

Hopsworks – 業界初のオープンソース機能ストレージを備えた、AI を搭載したデータ集約型プラットフォーム。 Hopsworks Feature Store は、Apache Hive に基づくトレーニングおよびバッチ処理用の機能ライブラリと、オンライン アプリケーション用の MySQL Cluster に基づく機能提供データベースの両方を提供します。

GitHub: https://github.com/logicalclocks/hopsworks

Polyaxon – 再現性と拡張性に優れた機械学習とディープラーニングのためのプラットフォーム。

GitHub: https://github.com/polyaxon/polyaxon

sara – コンピューター ビジョン アルゴリズムをわかりやすく効率的に実装した C++ コンピューター ビジョン ライブラリ。 [Mozilla パブリックライセンス バージョン 2.0]

GitHub: https://github.com/DO-CV/sara

ANNetGPGPU – GPU (CUDA) に基づく人工ニューラル ネットワーク ライブラリ。 [LGPL]

GitHub: https://github.com/ANNetGPGPU/ANNetGPGPU

btsk – ゲーム動作ツリー スターター キット。 [zlib]

GitHub: https://github.com/aigamedev/btsk

Evolving Objects - 独自の確率的最適化アルゴリズムを迅速に記述するのに役立つ、テンプレート ベースの ANSI-C++ 進化的計算ライブラリ。 [LGPL]

公式サイト: http://eodev.sourceforge.net/

frugally-deep – C++ の KARAS モデル用のヘッダーのみのライブラリ。 [MIT]

GitHub: https://github.com/Dobiasd/frugally-deep

Genann – C 言語で書かれたシンプルなニューラル ネットワーク ライブラリ。 [zlib]

GitHub: https://github.com/codeplea/genann

PyTorch – 強力な GPU アクセラレーションを備えた Python のテンソルと動的ニューラル ネットワーク。

GitHub: https://github.com/pytorch/pytorch

Recast / Detour -- (3D) 主にゲーム用のナビゲーション メッシュ ジェネレーターおよびパスファインダー。 [zlib]

GitHub: https://github.com/recastnavigation/recastnavigation

tiny-dnn – C++11 のヘッダーのみの依存性のないディープラーニング フレームワーク。 [BSD]

GitHub: https://github.com/tiny-dnn/tiny-dnn

Veles – 迅速なディープラーニング アプリケーション開発のための分散プラットフォーム。 [アパッチ]

GitHub: https://github.com/DingKe/veles

Kaldi – 音声認識ツールキット。 [アパッチ]

GitHub: https://github.com/kaldi-asr/kaldi

19. コンピュータービジョン

CCV – C/Cache/Core Computer Vision Library、最新のコンピューター ビジョン ライブラリ。

GitHub: https://github.com/liuliu/ccv

VLFeat – VLFeat は、Matlab ツールボックスを備えたオープンでポータブルなコンピューター ビジョン アルゴリズム ライブラリです。

公式ドキュメント: https://www.vlfeat.org/

EBLearn -- Eblearn は、さまざまな機械学習モデルを実装するオブジェクト指向の C++ ライブラリです [非推奨]

公式サイト: http://eblearn.sourceforge.net/

OpenCV - OpenCV には C++、C、Python、Java、MATLAB インターフェイスがあり、Windows、Linux、Android、Mac オペレーティング システムをサポートしています。

公式ドキュメント: https://opencv.org/

VIGRA – VIGRA は、Python バインディングを備えた任意次元の汎用 C++ コンピューター ビジョンおよび機械学習ライブラリです。

GitHub: https://github.com/ukoethe/vigra

Openpose – 体、顔、手、足の評価のためのリアルタイムの複数人物キーポイント検出ライブラリ。

GitHub: https://github.com/CMU-Perceptual-Computing-Lab/openpose

20. Facebook ResearchのFlashLight

FlashLight は、Facebook AI Research Speech チームと Torch および Deep Speech の作成者によって完全に C++ で記述された、高速で柔軟な機械学習ライブラリです。

GitHub: https://github.com/facebookresearch/flashlight

21. アリババのMNN(モバイルニューラルネットワーク)

MNN は効率的で軽量なディープラーニング フレームワークです。業界をリードするオンデバイス推論およびトレーニング パフォーマンスにより、ディープラーニング モデルの推論とトレーニングをサポートします。

gitee: https://gitee.com/mirrors/mnn

22. Facebook ResearchによるHabitat-SIM

Habitat-SIM (C++) ライブラリを使用すると、非常にリアルで効率的な 3D シミュレーターで具現化された AI エージェント (仮想ロボット) をトレーニングし、学習したスキルを現実に転送できます。静的データセット(ImageNet、COCO、VQA など)を AI で使用し、エージェントはそこから学習して現実世界の環境で動作します。

GitHub: https://github.com/facebookresearch/habitat-sim

<<:  蘇州の路上には自動運転バスが走っている。これは試験運行ではない。市民は無料で乗車できる。

>>:  ダブルイレブンがやって来ます!物流ドローンはどれくらい遠くにあるのでしょうか?

ブログ    
ブログ    

推薦する

コンテストを利用して学習を促進し、エコシステムを共同で構築し、人工知能を普及させましょう。

[元記事は51CTO.comより] 2021年7月12日、上海紫竹コートヤードホテルで、神府改革革...

...

世界銀行:ロボットはまだ私たちの仕事を奪ってはいない

[[254699]]人間が機械に取って代わられるという悲観的な予測が広まっているにもかかわらず、自動...

海運業界は人工知能を活用して海賊行為と戦うことができる

今日、海賊行為は国際法、世界貿易、そして船員の安全と安心に対する複雑な課題であり続けています。電子機...

2024 年のエネルギー管理における AI のトレンドトップ 10

アクセンチュアのレポートによると、エネルギー分野で AI を活用することで、2035 年までにエネル...

...

人工知能統計調査:消費者の86%が手動の顧客サービスを好む

AI の健全性と進歩に関する最近の調査、研究、予測、その他の定量的評価では、米国の消費者がチャットボ...

2022 RPA認定ランキング

ロボティック・プロセス・オートメーション (RPA) は、ビジネス プロセスの合理化に役立つ重要なテ...

AIストレージプラットフォームが機械学習とデータ分析のニーズを満たす方法

機械学習と AI タスクの実行方法や環境内でのデータの収集方法に応じて、組織はどの AI ストレージ...

AIの次の目的地:洗練された生活シナリオのインテリジェント時代

[[348783]] Canvaからの画像テクノロジーは生活の中でどのような役割を果たしているのでし...

マイクロソフトがOpenAIを救わなければならなかった6つの理由

メアリー・ブランスコム編纂者 | Yan Zheng生成型AIの寵児であるOpenAIは最近、混沌と...

5年後、農業ロボットの市場価値は引き続き増加し、約880億ドルに達するだろう。

農業用ロボットは、一般的に、農産物を操作対象とし、ある程度の人間の知覚と行動能力を持ち、さまざまな高...

AIはリモートワークがもたらす企業文化の課題を解決するのに役立つ

2019年、MIT Sloan Management ReviewとGlassdoorが共同でCul...