Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Improving the Transforms Module

オープン
#973 コメント 9 件 リアクション 3 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
リファクタリング
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python, pytorch
領域
backend

調査の方向性

This issue lists multiple proposed improvements to the deepinv.transform module. First review the existing code in the deepinv/transform directory to understand current implementation, then check the comment thread to see which changes are prioritized by maintainers. Select a single well-scoped improvement from the list, confirm your choice via comment, and implement it following existing module patterns.

索引モデルが issue の本文から書いたものです。

説明

type: discussion
Environment

/

Describe the bug

A WIP list of changes that might make deepinv.transform better

  • Making transform implementations available in a new deepinv.transform.functional module
  • Make transforms operate per batch element instead of on an entire batch (e.g., one rotation angle per batch entry)
  • Adding support for specifying n_trans without having to overwrite Transform.n_trans
  • Make the dependence of Transform.get_params on Transform.n_trans clearer
  • Getting rid of Transform.n_trans
  • Make Transform.inverse behave like Transform.forward with inverse parameters
  • Simplify Transform.symmetrize
  • Provide simpler ways to explicitly sample transforms with or without replacement
  • Clarify how the interface supports the different use cases: pre-processing, data augmentation, equivariant losses/architectures, etc
  • Separate group-related parameters (displacements, angles, flip/no flip) and implementation-related parameters (interpolation, padding)
  • Make a proper description of our model of transformations (with the nitty-gritty details, sampling, implementations, groups & group restrictions, augmentation, composition)
  • Improve consistency when it comes to how Transform._get_params behaves (does it sample with or without replacement?)
  • Add a way to iterate on the transformations (i.e., for shifts, on every valid displacement)
    • ... or to get a tensor with one entry per possible transform (which is already computed in Transform._get_params)
  • Add a way to get the number of different transforms (without necessarily computing them/sampling them)
  • Get rid of neg / TransformParam thing on implementation parameters (e.g., center in Scale)
  • Make transforms abstract base classes #373
  • Have Identity take a tensor of zeros as parameter so it is more consistent with the rest
  • Making T_i a callable instead of a Transform in AugmentConsistencyLoss
  • Make Transform.get_params not depend on tensor values but only on tensor metadata (shape for all possible shifts, possibly dtype and device)
  • Make a class for rotation by continuous shear for the sake of homogeneity
Steps to reproduce

/

Expected behavior

/

Full traceback (if applicable)

No response

Additional context

No response

主要言語
Python
スター
826
フォーク
220
平均マージ
5日 15時間
マージ済み PR(30日)
18

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

deepinv/deepinv のほかの issue

deepinv/deepinv の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。