dlib C++ Library
Dlibは、実世界の問題を解決するためにC ++で複雑なソフトウェアを作成するための機械学習アルゴリズムとツールを含む最新のC ++ツールキットです。これは、産業界と学術界の両方で、ロボット工学、組み込み機器、携帯電話、および大規模高性能コンピューティング環境を含む幅広い分野で使用されています。Dlibのオープンソースライセンス はあなたが無料であらゆるアプリケーションでそれを使用することを可能にします。
dlibの開発をフォローまたは参加するには、githubでdlibを購読してください。プロジェクトにコードを送信する予定の場合は、寄付方法ページも必ずお読みください。
dlibをすぐに使い始めるには、以下の手順に従ってdlibを構築してください。
主な機能
-
ドキュメンテーション
- 多くのオープンソースプロジェクトとは異なり、これはすべてのクラスと機能のための完全で正確なドキュメントを提供します。文書化された機能の前提条件をチェックするデバッグモードもあります。これを有効にすると、関数の呼び出しが間違ったり、オブジェクトを誤った方法で使用したりすることによって発生するバグの大部分をキャッチします。
- たくさんのプログラム例が提供されています
- 私はドキュメンテーションがライブラリの最も重要な部分であると考えます。文書化されていない、明確でない、または古くなっている文書が見つかった場合は、それを修正してください。
-
高品質のポータブルコード
- ユニットテストの適用範囲が広い コードのユニットテスト行とライブラリのコード行の比率は、約1対4です。
- このライブラリは、MS Windows、Linux、およびMac OS Xシステムで定期的にテストされています。しかし、それはどのPOSIXシステムでも動作するはずで、Solaris、HPUX、およびBSDで使用されています。
- ライブラリを使用するために他のパッケージは必要ありません。OSによって提供されている APIのみが必要です。
- ライブラリを使用する前にインストールや設定のステップは必要ありません。詳細は How to compileページを参照してください。
- すべてのオペレーティングシステム固有のコードは、可能な限り小さく保たれているOS抽象化レイヤ内に隔離されています。ライブラリの残りの部分は、OSの抽象化レイヤの上に階層化されているか、純粋なISO標準C++です。
-
機械学習アルゴリズム
- ディープラーニング
- 分類と回帰のための従来のSMOベースのサポートベクターマシン
- 大規模分類と回帰のための低ランク法
- 分類と回帰のための関連性ベクトルマシン
- 汎用多クラス分類ツール
- マルチクラスSVM
- 構造的サポートベクターマシンを関連付けられた最適化問題解決のためのツール 。
- 配列標識のための構造的SVMツール/li>
- 割り当て問題を解くための構造的SVMツール
- 画像内のオブジェクト検出のための構造的SVMツール、およびオブジェクト検出のためのより強力な(しかし遅い)ディープラーニングツール。
- グラフ内のノードにラベルを付けるための構造的SVMツール
- 大規模SVMランク実装
- オンラインカーネルRLS回帰アルゴリズム
- オンラインSVM分類アルゴリズム
- 半正定値計量学習
- オンラインカーネル化重心推定量 /ノベルティ検出器とオフラインサポートベクター1クラス分類
- クラスタリングアルゴリズム:線形 またはカーネルk-means、Chinese Whispers、およびNewmanクラスタリング。
- 動径基底関数ネットワーク
- 多層パーセプトロン
-
数値アルゴリズム
- 高速マトリックスオブジェクトは、式テンプレート技術および利用可能な場合BLASとLAPACKライブラリを使用することが可能なを使用して実装しました。
- 特異値分解、転置、三角関数など、多数の線形代数および数学演算が行列オブジェクトに対して定義されています 。
- 共役勾配法、BFGS、および L-BFGS 技術を使用した汎用の制約なし非線形最適化アルゴリズム
- 非線形最小二乗問題を解くためのLevenberg-Marquardt
- BOBYQAアルゴリズムによるボックス制約付き微分フリー最適化
- 最適化切断面アルゴリズムの実装
- いくつかの二次 プログラムソルバー
- 最適な割り当てと最小カット/最大フロー問題を解くための組み合わせ最適化ツールと 、最も可能性の高い解析木を見つけるためのCKYアルゴリズム
- 大きな整数オブジェクト
- 乱数オブジェクト
- グラフィカルモデル推論アルゴリズム
- ベイジアンネットワークにおける正確な推論のための結合木アルゴリズム
- ベイジアンネットワークにおける近似推論のためのGibbsサンプラーマルコフ連鎖モンテカルロアルゴリズム
- 連鎖構造、Potts、または一般的な因子グラフでMAP推論を実行するためのルーチン 。
- 画像処理
- スレッディング
- ライブラリは、移植性の高いシンプルなスレッドAPIを提供します。
- スレッド間およびプロセス間通信用のメッセージ受け渡しパイプ
- タイマー定期的に時間に間隔を置いて配置されているイベントを生成することが可能なオブジェクト
- スレッドオブジェクト
- スレッド関数
- 並列forループ
- 先物をサポートするthread_pool
- ネットワーキング
- ライブラリは、ポータブルでシンプルなTCPソケットAPIを提供します。
- TCPベースのサーバーを作るのを助けるためのオブジェクト
- CPソケットがC ++ iostreamライブラリと相互運用できるようにするiostreamおよびstreambufオブジェクト
- Webサーバーをアプリケーションに埋め込むために使用できる単純なHTTPサーバーオブジェクト
- スレッド間およびプロセス間通信用のメッセージ受け渡しパイプ
- Bulk Synchronous Parallel(BSP)コンピューティングモデルを使用してアルゴリズムを実装するためのツール
- グラフィカルユーザーインタフェース
- データ圧縮と完全性アルゴリズム
- テスト
- 人気のあるJavaロガーlog4jに準拠したスタイルのスレッドセーフロガーオブジェクト
- モジュラーユニットテストフレームワーク
- 前提条件のテストに役立つさまざまなassertマクロ
- 一般ユーティリティ
ライブラリ
Help/Info
- Dlib Blog
- Examples: C++
- Examples: Python
- FAQ
- Home
- How to compile
- How to contribute
- Index
- Introduction
- License
- Python API
- Suggested Books
- Who uses dlib?
Current Release