トーチビジョンの近代化の旅 – トーチビジョン開発者の回想録 – 3 PlatoBlockchain データ インテリジェンス。垂直検索。あい。

TorchVisionの近代化の旅– TorchVision開発者の回顧録– 3

TorchVisionの近代化の旅– TorchVision開発者の回顧録– 3

TorchVisionの回想録に新しいエントリを最後に投稿してからしばらく経ちました シリーズ。 思った、私は以前に公式のPyTorchブログとでニュースを共有しました Twitter、TorchVision(v0.12)の最後のリリースで何が起こったのか、次のリリース(v0.13)で何が出てくるのか、2022H2の計画についてもっと話すのは良い考えだと思いました。 私の目標は、新機能の概要を提供するだけでなく、次の月にプロジェクトをどこに進めたいかについての洞察を提供することです。

トーチビジョン v0.12 は、XNUMXつの焦点を当てた大規模なリリースでした。a)非推奨とモデル貢献ポリシーを更新して透明性を向上させ、より多くのコミュニティ貢献者を引き付けます。b)人気のある新しいモデルアーキテクチャ、データセット、ML技術を追加することで、近代化の取り組みを倍増させます。

ポリシーの更新

オープンソースプロジェクトを成功させる秘訣は、プロジェクトに貢献し、プロジェクトを推進する健全で活発なコミュニティを維持することです。 したがって、私たちのチームの重要な目標は、コミュニティの貢献の数を増やすことです。コミュニティが通常の段階的な改善(バグ/ドキュメントの修正)に加えて大きな機能(新しいモデル、MLテクニックなど)を提供できるようにするという長期的なビジョンがあります。 、小さな機能など)。

歴史的に、コミュニティは 熱心な そのような機能を提供するために、私たちのチームはそれらを受け入れることを躊躇しました。 重要な障害は、具体的なモデルの貢献と非推奨のポリシーの欠如でした。 これに対処するために、Joao Gomesはコミュニティと協力して、最初のドラフトと公開を行いました モデル貢献ガイドライン これにより、モデルトレーニングを必要とする新しいアーキテクチャ、事前トレーニング済みの重み、および機能を提供するプロセスが明確になります。 さらに、Nicolas HugはPyTorchコア開発者と協力して、コンクリートを作成して採用しました 非推奨ポリシー.

前述の変更は、プロジェクトに即座にプラスの効果をもたらしました。 新しいコントリビューションポリシーは、大規模な機能に対する多数のコミュニティコントリビューションを受け取るのに役立ち(詳細は以下を参照)、明確な非推奨ポリシーにより、TorchVisionが強力な下位互換性の保証を提供しながら、コードベースをクリーンアップできました。 私たちのチームは、オープンソースの開発者、研究チーム、および下流のライブラリ作成者と協力して、TorchVisionの関連性と最新性を維持することに非常に意欲的です。 フィードバック、コメント、または機能のリクエストがある場合は、 届く 私たちに。

TorchVisionの最新化

過去数回のリリースで ターゲット ユーザーがPyTorchを使用してSOTAの結果を簡単に再現できるように、必要なすべての拡張、損失、レイヤー、トレーニングユーティリティ、および新しいアーキテクチャをTorchVisionに追加することでした。 TorchVision v0.12は、そのルートを継続しました。

  • 私たちのロックスターコミュニティの貢献者であるHuYeとZhiqiangWangは、 FCOS XNUMX段階のオブジェクト検出モデルであるアーキテクチャ。

  • Nicolas Hugは、TorchVisionのオプティカルフローのサポートを追加しました。 ラフト 建築。

  • YiwenSongはのサポートを追加しました ビジョントランスフォーマー (ViT)と私は追加しました コンバージョン 事前にトレーニングされたウェイトの改善とともにアーキテクチャ。

  • 最後に 助けます 私たちのコミュニティの、私たちは追加しました 14の新しい分類 & 5つの新しいオプティカルフロー データセット。

  • いつものように、リリースには多数の小さな拡張機能、バグ修正、ドキュメントの改善が含まれていました。 すべての新機能と貢献者のリストを確認するには、 v0.12リリースノート.

TorchVision v0.13はもうすぐリリースされ、XNUMX月上旬にリリースされる予定です。 これは非常に大きなリリースであり、多数の新機能と大きなAPIの改善が含まれています。

近代化をまとめ、SOTAとのギャップを埋める

私たちは継続しています 図書館を近代化する旅 必要なプリミティブ、モデルアーキテクチャ、レシピユーティリティを追加して、主要なコンピュータビジョンタスクのSOTA結果を生成します。

  • ビクターフォミンの助けを借りて、私は次のような重要な欠測データ拡張技術を追加しました オーグミックス, 大規模ジッター これらの手法により、SOTAとのギャップを埋め、より良いウェイトを生成することができました(以下を参照)。

  • Aditya Oke、Hu Ye、Yassine Alouini、Abhijit Deoの助けを借りて、次のような重要な共通の構成要素を追加しました。 ドロップブロック レイヤー、 MLP ブロック、 cIOU & DIOU 最後に、Shen Liと協力して、PyTorchの長年の問題を修正しました。 同期バッチノルム 検出モデルに影響を与えたレイヤー。

  • JoaoGomesのサポートを受けたHuYeが追加されました スウィントランス 改善された事前訓練された重みとともに。 追加しました EfficientNetV2 アーキテクチャと、の実装に関するいくつかのポストペーパーアーキテクチャの最適化 RetinaNet、FasterRCNN、MaskRCNN.

  • PyTorchブログで前に説明したように、改善されたウェイトを作成することにより、事前にトレーニングされたウェイトの改善に多大な努力を払ってきました。 トレーニングレシピ。 これにより、精度を向上させることができました 分類モデル 3精度ポイントで、さまざまなアーキテクチャの新しいSOTAを実現します。 同様の取り組みが 検出とセグメンテーション、モデルの精度を平均8.1mAP以上向上させました。 最後に、Yosua Michael Mは、Laura Gustafson、Mannat Singhand、Aaron Adcockと協力して、 みやげ品、ViTおよびRegNets用の新しい高精度の事前トレーニング済みウェイトのセット。

新しいマルチウェイトサポートAPI

私として 前述した PyTorchブログで、TorchVisionは既存のモデルビルダーメカニズムを拡張して、事前にトレーニングされた複数のウェイトをサポートしています。 新しいAPIは完全な下位互換性があり、さまざまな重みでモデルをインスタンス化でき、有用なメタデータ(カテゴリ、パラメーターの数、メトリックなど)とモデルの前処理推論変換を取得するメカニズムを提供します。 専用のフィードバックがあります Githubの問題 ざらざらしたエッジにアイロンをかけるのに役立ちます。

刷新されたドキュメント

Nicolas Hugは、リストラの取り組みを主導しました モデルのドキュメント TorchVisionの。 新しい構造では、Multi-weight Support APIの機能を利用して、事前にトレーニングされたウェイトとライブラリでの使用に関するより優れたドキュメントを提供できます。 コミュニティメンバーに大声で叫ぶ 私たちを助けて すべてのアーキテクチャを時間どおりに文書化します。

2022H2の詳細なロードマップはまだ完成していませんが、現在取り組んでいるいくつかの重要なプロジェクトを次に示します。

プロジェクトに参加したい場合は、私たちの 良い最初の問題従業員求む リスト。 ベテランのPyTorch/Computer Visionのベテランであり、貢献したい場合は、新しいプロジェクトの候補がいくつかあります。 演算子, 損失, 増加します & モデル.

この記事がおもしろいと思います。 連絡を取りたい場合は、私に連絡してください LinkedIn or Twitter.

タイムスタンプ:

より多くの データムボックス