PaddleVideoの紹介とファイルディレクトリの詳細説明

序章

PaddleVideo は、開発者がビデオ分野での学術研究や産業実践をより適切に実施できるよう、豊富で優れた実用的なビデオ ツール ライブラリを作成することを目指しています。

PaddleVideo は、ビデオ データ注釈ツール、軽量 RGB および骨格点動作認識モデル、ビデオ ラベリングやモーション検出などの実用的なアプリケーションをサポートするパドルベースのビデオ理解ツール ライブラリです。

URL: https://github.com/PaddlePaddle/PaddleVideo/tree/develop

特性

さまざまなビデオ関連の最先端のアルゴリズムをサポートし、これに基づいて産業レベルの特性モデルPP-TSM および PP-TSMv2を構築し、データ生成、モデルのトレーニング、圧縮、予測展開のプロセス全体をオープンにします。

ここに画像の説明を挿入

ライセンス

Apache 2.0 licenseプロジェクトの投稿にはライセンス認証が必要です。

PaddleVideo ファイル ディレクトリの概要

ここに画像の説明を挿入

  • .github/ ISSUE_TEMPLATEフォルダー: GitHub問題テンプレートを保存します。

問題テンプレートは、質問や提案を標準化するための形式であり、開発者とユーザーがより効果的にコミュニケーションし、問題を解決するのに役立ちます。
プロジェクトごとに異なる課題テンプレートが存在する場合があります。これらは通常、プロジェクトのルート ディレクトリの下の.githubフォルダーに配置され、ISSUE_TEMPLATE で始まる名前が付けられます。

たとえば、PaddleVideo プロジェクトには 2 つの課題テンプレートがあります。

  • Bug report: 調査中に発生した問題を説明するために使用されます。これには、問題の説明、再現手順、予想される効果、スクリーンショット、環境バージョンのメモなどが含まれます。
  • Feature request: 問題の説明、提案された解決策、その他のアイデア、その他のコンテンツなど、チュートリアルの有効性を維持するために使用されます。
  • benchmark/TimeSformerフォルダー:トランスフォーマー ベースの動作認識モデル TimeSformer のコードと構成を保存します。

ここではbenchmark、何かの質や量を既知の基準と比較して評価する方法を示します。
このフォルダーには、他のモデルとのパフォーマンス比較benchmarkのために、トランスフォーマー ベースの動作認識モデルである TimeSformer のコードと構成が保存されます

  • data: 、データセットなどのさまざまなデータセットのサンプル ファイルと、などのさまざまなファイル形式のサンプルを保存します。ucf101ntu-rgb-dfsd10example.pklexample.aviexample_feat.npy
  • deploy:デプロイメント関連のコードとファイルを保存します。
  • test_tipc:テスト関連のコードとファイルを保存します。
  • tools:ツール関連のコードとファイルを保存します。
  • output:トレーニング出力の重み、オプティマイザー パラメーター、その他のファイルを保存します。
  • log:トレーニング ログを保存します。
  • inference:予測モデルを保存します。

アプリケーションフォルダーの詳細

ビデオ アプリケーション関連のコードとデータを保存します

このフォルダでは、 Figure S kating Figure\ Skatingなど、アプリケーションケースに応じてやりたいプロジェクトをすぐに見つけることができます。フィギュアスケートフィギュアスケート  _ _ _ _ _

応用例を以下の図に示します。

ここに画像の説明を挿入

configsフォルダーの詳細

さまざまなモデルとデータセットの構成ファイルが含まれています。

構成ファイルは、モデルの構造、トレーニング パラメーター、データ処理などを定義するために使用される形式yamlテキストファイルです。

PaddleVideo は、モデルのトレーニング、テスト、推論、その他の操作だけでなく、構成ファイルを変更することによって、さまざまなモデルとデータ セットの組み合わせをサポートします。

PaddleVideo は、さまざまなモデルやデータセットの設定ファイルを保存するためのカテゴリに分割されています。 (行動認識)、(ビデオセグメンテーション)、(アクション位置決め)、 (アクション検出) などのフォルダー
PaddleVideo/configs/があります。recognitionsegmentationlocalizationdetection

たとえば、図に示すように、recognitionフォルダーの下には、動作認識方向のモデルとデータセットの設定ファイルが多数存在します。

ここに画像の説明を挿入

ここに画像の説明を挿入

ドキュメントフォルダーの詳細

ドキュメント関連のファイルを保存します

クイック スタート、インストール手順、ユーザー ガイド、モデル ライブラリ、シナリオ アプリケーションなどが含まれます。これらのファイルはすべて というmarkdown形式で記述されており、GitHub または Gitee で直接表示またはダウンロードできます。

  • PaddleVideo/docs/zh-CN/dataset/フォルダーの下には、データセットの紹介、ダウンロード、前処理などを含む、さまざまなデータセットの説明ドキュメントがあります。

ここに画像の説明を挿入

  • PaddleVideo/docs/zh-CN/model_zoo/フォルダーの下には、さまざまなモデルの紹介、パフォーマンス、ダウンロード リンクを含む、いくつかの最先端のアルゴリズムとモデルの説明文書があります。

ここに画像の説明を挿入

  • PaddleVideo/docs/zh-CN/benchmark.md:異なるデータセット上のさまざまなモデルの精度や速度など、モデルのパフォーマンス比較の関連ドキュメントを保存します。

paddlevideo フォルダーの詳細

ビデオ モデル ライブラリに関連するコードとファイルを保存するフォルダー。

図に示すように、このフォルダーには主に次のファイルがあります。

ここに画像の説明を挿入

ユーティリティフォルダー

paddlevideo/utilsこのフォルダーには、補助ビデオ データなどのロード、前処理、後処理のためのいくつかの一般的なユーティリティ関数前処理メソッドが含まれています。

ここに画像の説明を挿入

タスクフォルダー

tasksこのフォルダーの役割は、さまざまな機械学習タスクを定義および実行するために使用されるいくつかのクラスまたは関数を保存することです。

ここに画像の説明を挿入

画像分類タスク、関係分類タスク、意味検索タスク、インテリジェントな質問応答タスクなど、機械学習タスクが異なれば、異なるデータセット、モデル、指標、トレーニングおよびテストプロセスなどが必要になる場合があります。

tasksフォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するモデルを構築および実行し、フォルダー内のインジケーターを使用してトレーニングまたはテスト中にmetricsモデルのパフォーマンスを評価できます。

ローダーフォルダー

loaderフォルダーの役割は、データのロードと処理のためのいくつかのクラスまたは関数を保存することです。

機械学習タスクが異なれば、異なるデータ形式、データ前処理、データ拡張、データサンプリングなどが必要になる場合があります。

  • 画像分類タスクでは、画像ファイルの読み込み、トリミング、回転、正規化などを行う必要があります。
  • リレーショナル分類タスクでは、テキスト ファイルを読み込み、単語の分割、エンコード、埋め込みなどの操作を実行する必要があります。

loaderフォルダー内のクラスまたは関数は、さまざまなタスクやデータ セットに応じて対応するデータ ローダーを作成および使用しトレーニングまたはテスト中にバッチ データ入力を提供できます

モデリングフォルダー

modelingフォルダーの役割は、モデルの構築と定義に使用されるいくつかのクラスまたは関数を保存することです。

フォルダは図のとおりです。

ここに画像の説明を挿入

その中で、次のbackbonesフォルダーの下にあります。

ここに画像の説明を挿入

headsフォルダーの下:

ここに画像の説明を挿入

機械学習タスクが異なれば、異なるモデル構造、モデルパラメーター、モデルレイヤー、モデルアクティベーションなどが必要になる場合があります。

  • 画像分類タスクでは、畳み込みニューラル ネットワーク、全結合層、ソフトマックス ソフトマックスの使用が必要です。softmax 层, R e L U ReLU R e LUアクティベーションなど、
  • 関係分類タスクではリカレント ニューラル ネットワーク、注意メカニズム、線形層、tanh Tanhを使用する必要があります。アクティベーションなど

modelingフォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するモデルを作成および使用しトレーニングまたはテスト中にモデルの順伝播と逆伝播を実現できます

ソルバーフォルダー

solverフォルダーの役割は、モデルの最適化と解決に使用されるいくつかのクラスまたは関数を保存することです。

異なる機械学習タスクには、異なる最適化アルゴリズム、損失関数、正則化項、学習率戦略などが必要になる場合があります。

  • 画像分類タスクでは、確率的勾配降下法、クロスエントロピー損失、重み減衰、コサインアニーリングなどを使用する必要があります。
  • 関係分類タスクでは、適応モーメント推定、対比損失、敵対的トレーニング、線形減衰などの使用が必要です。

solverフォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するオプティマイザーを作成および使用しトレーニングまたはテスト中にモデルのパラメーターを更新および調整できます。

メトリクスフォルダー

metricsこのフォルダーには、モデルのパフォーマンスを評価するために使用されるいくつかのクラスまたは関数が保存されます。

機械学習タスクが異なれば、モデルの品質を測定するために異なるメトリクスが必要になる場合があります。たとえば、次のようになります。

  • 分類タスクで一般的に使用される指標は、精度、再現率、F 1 F1です。F 1スコア、ROC ROCROCカーブなど
  • 回帰タスクで一般的に使用される指標には、平均二乗誤差、二乗平均平方根誤差、平均絶対誤差などがあります。

metricsフォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するインジケーターを定義および計算しトレーニングまたはテスト中にインジケーター値を更新および蓄積して、モデルの選択と最適化を容易にすることができます。

おすすめ

転載: blog.csdn.net/xiaoyuting999/article/details/130544829