この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 11241|答える: 0

ダークネットフレームワークの紹介

[リンクをコピー]
掲載地 2019/01/30 12:51:44 | | | |
顔の表情のエンドツーエンドシステムの再学習のために


付録1:

ダークネットディープラーニングフレームワークソースコード解析:フレームワークの原則と実装構文分析を扱う詳細な中国語解説

https://github.com/hgpvision/darknet

ダークネットは比較的軽量なオープンソースのディープラーニングフレームワークで、完全にCとCUDAに基づいています。主な特徴はインストールが簡単で、依存関係がなく(OpenCVを使用可能)、非常に移植性が高く、CPUとGPUの両方の計算方法をサポートしています。



TensorFlowと比べるとダークネットはそれほど強力ではありませんが、これもまたダークネットの利点の一つです:

  • ダークネットは完全にC言語で実装されており、依存関係はありません。もちろんOpenCVを使うこともできますが、画像表示に限って視覚化を図るために使えます。
  • ダークネットはCPUに対応しています(GPUがなくても問題ありません)とGPU(CUDA/cuDNN、もちろんGPUを使う方が良いです)。
  • それは比較的軽量で、TensorFlowのような強力なAPIを持たないため、基盤を研究するのに適し、より簡単に改善・拡張できる柔軟性があると感じています。
  • ダークネットの実装とカフェの実装には類似点があり、私はダークネットに詳しいので、カフェを始めるのに役立つと考えています。





付録2:

著者:Zhihuユーザー
リンク:https://www.zhihu.com/question/51747665/answer/145607615
出典:志虎
著作権は著者に帰属します。 商業用再版の場合は著者にご連絡で許可を得てください。非商業用再版の場合は出典を明記してください。

ダークネットにおける最も重要な構造体の定義はnetwork_state、ネットワーク、レイヤーの3つです。 新しいバージョンnetwork_stateネットワークに統合されています。

コードはまずGPU部分を無視でき、異なる種類のネットワーク層は関数ポインタを通じてこのタイプの実行ルールを定義し、階層内で更新します。 例えば、連結層には3つの方法があり、例えばforward_connected_layer backward_connected_layer update_connected_layer gru層などがあります。

原子操作はblas.cとgemm.cのみ、ネットワーク操作はnetwork.cにあり、最も重要なのはtrain_network_datum、train_networks、train_network_batch、network_predictです。

train_network_datum は入力データ、すなわちfloat *xとfloat *yペアに使われる float_pairです。

train_networksはnetwork_kernel.cu上で並行スレッドモードで訓練され、パラメータはデータです。

一つ目に、ダークネットはCPUモードではシングルスレッドで、マルチGPUグラフィックスモードではマルチカード動作train_networksサポートしています。これは、学習済みの重みデータが統合され、スケールする分散マルチホストダークネットの変革の入り口でもあります。

train_network_datum {層ごとに順方向にネットワーク} forward_network backward_network {層ごとに逆方向ネットワーク}を実行し、満たされた回数(*net.seen %細分)未満のupdate_network,,,速度、運動量、減衰を実行;

ユーザー定義ネットワークプロファイル処理のparse_network_cfgでは、訓練結果が読み込まれload_weights

それが骨格です。

特別なニーズを持つデータソースを扱う必要がある場合は、まずdata.cを参照して始めてください。

CFGプロファイルでは、フォーカス調整(もちろんすべてのパラメータが重要で調整が必要になる場合があります)と、トレーニング中のフォーカスのグローバルパラメータである減衰運動量learning_rateこれら3つは収束速度に関連しています。 ポリシーは重みポリシー、入力バッチ(および関連する細分)はデータスループット次元に関連しており、最新バージョンでは出力の補正が加えられているようです。







先の:mockjs シンプルチュートリアル
次に:.net core FileProviderはディレクトリファイルを読み込みます
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com