Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CodeStyle][ruff] clean I001 ignore - Part 2 #60466

Merged
merged 2 commits into from
Dec 29, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,5 @@ known-first-party = ["paddle"]
"python/paddle/distributed/launch/controllers/__init__.py" = ["I001"]
"python/paddle/distributed/passes/__init__.py" = ["I001"]
"python/paddle/distributed/rpc/__init__.py" = ["I001"]
"python/paddle/distribution/__init__.py" = ["I001"]
"python/paddle/incubate/distributed/fleet/__init__.py" = ["I001"]
"python/paddle/incubate/distributed/fleet/parameter_server/pslib/__init__.py" = ["I001"]
74 changes: 49 additions & 25 deletions python/paddle/distribution/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,42 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from paddle.distribution import transform
from paddle.distribution.bernoulli import Bernoulli
from paddle.distribution.beta import Beta
from paddle.distribution.categorical import Categorical
from paddle.distribution.cauchy import Cauchy
from paddle.distribution.continuous_bernoulli import ContinuousBernoulli
from paddle.distribution.dirichlet import Dirichlet
from paddle.distribution.distribution import Distribution
from paddle.distribution.gumbel import Gumbel
from paddle.distribution.exponential_family import ExponentialFamily
from paddle.distribution.independent import Independent
from paddle.distribution.kl import kl_divergence, register_kl
from paddle.distribution.lognormal import LogNormal
from paddle.distribution.multinomial import Multinomial
from paddle.distribution.multivariate_normal import MultivariateNormal
from paddle.distribution.normal import Normal
from paddle.distribution.transform import * # noqa: F403
from paddle.distribution.transformed_distribution import TransformedDistribution
from paddle.distribution.uniform import Uniform
from paddle.distribution.laplace import Laplace
from paddle.distribution.geometric import Geometric
from paddle.distribution.binomial import Binomial
from paddle.distribution.poisson import Poisson
from .bernoulli import Bernoulli
from .beta import Beta
from .binomial import Binomial
from .categorical import Categorical
from .cauchy import Cauchy
from .continuous_bernoulli import ContinuousBernoulli
from .dirichlet import Dirichlet
from .distribution import Distribution
from .exponential_family import ExponentialFamily
from .geometric import Geometric
from .gumbel import Gumbel
from .independent import Independent
from .kl import kl_divergence, register_kl
from .laplace import Laplace
from .lognormal import LogNormal
from .multinomial import Multinomial
from .multivariate_normal import MultivariateNormal
from .normal import Normal
from .poisson import Poisson
from .transform import ( # noqa:F401
AbsTransform,
AffineTransform,
ChainTransform,
ExpTransform,
IndependentTransform,
PowerTransform,
ReshapeTransform,
SigmoidTransform,
SoftmaxTransform,
StackTransform,
StickBreakingTransform,
TanhTransform,
Transform,
)
from .transformed_distribution import TransformedDistribution
from .uniform import Uniform

__all__ = [
'Bernoulli',
Expand All @@ -59,6 +72,17 @@
'Geometric',
'Binomial',
'Poisson',
'Transform',
'AbsTransform',
'AffineTransform',
'ChainTransform',
'ExpTransform',
'IndependentTransform',
'PowerTransform',
'ReshapeTransform',
'SigmoidTransform',
'SoftmaxTransform',
'StackTransform',
'StickBreakingTransform',
'TanhTransform',
]

__all__.extend(transform.__all__)
16 changes: 0 additions & 16 deletions python/paddle/distribution/transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,6 @@
variable,
)

__all__ = [
'Transform',
'AbsTransform',
'AffineTransform',
'ChainTransform',
'ExpTransform',
'IndependentTransform',
'PowerTransform',
'ReshapeTransform',
'SigmoidTransform',
'SoftmaxTransform',
'StackTransform',
'StickBreakingTransform',
'TanhTransform',
]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这会改 API 吧,为啥要这么改?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

修改前:

python
Python 3.11.5 (main, Sep 11 2023, 08:31:25) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle
>>> dir(paddle.distribution)
['AbsTransform', 'AffineTransform', 'Bernoulli', 'Beta', 'Binomial', 'Categorical', 'Cauchy', 'ChainTransform', 'ContinuousBernoulli', 'Dirichlet', 'Distribution', 'ExpTransform', 'ExponentialFamily', 'Geometric', 'Gumbel', 'Independent', 'IndependentTransform', 'Laplace', 'LogNormal', 'Multinomial', 'MultivariateNormal', 'Normal', 'Poisson', 'PowerTransform', 'ReshapeTransform', 'SigmoidTransform', 'SoftmaxTransform', 'StackTransform', 'StickBreakingTransform', 'TanhTransform', 'Transform', 'TransformedDistribution', 'Uniform', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'bernoulli', 'beta', 'binomial', 'categorical', 'cauchy', 'constraint', 'continuous_bernoulli', 'dirichlet', 'distribution', 'exponential_family', 'geometric', 'gumbel', 'independent', 'kl', 'kl_divergence', 'laplace', 'lognormal', 'multinomial', 'multivariate_normal', 'normal', 'poisson', 'register_kl', 'transform', 'transformed_distribution', 'uniform', 'variable']
>>> len(dir(paddle.distribution))
69
>>> dir(paddle.distribution.transform)
['AbsTransform', 'AffineTransform', 'ChainTransform', 'ExpTransform', 'F', 'IndependentTransform', 'PowerTransform', 'ReshapeTransform', 'SigmoidTransform', 'SoftmaxTransform', 'StackTransform', 'StickBreakingTransform', 'TanhTransform', 'Transform', 'Type', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'constraint', 'distribution', 'enum', 'math', 'paddle', 'transformed_distribution', 'typing', 'variable']
>>> len(dir(paddle.distribution.transform))
32
>>>

修改后:

python
Python 3.11.5 (main, Sep 11 2023, 08:31:25) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import paddle
>>> dir(paddle.distribution)
['AbsTransform', 'AffineTransform', 'Bernoulli', 'Beta', 'Binomial', 'Categorical', 'Cauchy', 'ChainTransform', 'ContinuousBernoulli', 'Dirichlet', 'Distribution', 'ExpTransform', 'ExponentialFamily', 'Geometric', 'Gumbel', 'Independent', 'IndependentTransform', 'Laplace', 'LogNormal', 'Multinomial', 'MultivariateNormal', 'Normal', 'Poisson', 'PowerTransform', 'ReshapeTransform', 'SigmoidTransform', 'SoftmaxTransform', 'StackTransform', 'StickBreakingTransform', 'TanhTransform', 'Transform', 'TransformedDistribution', 'Uniform', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'bernoulli', 'beta', 'binomial', 'categorical', 'cauchy', 'constraint', 'continuous_bernoulli', 'dirichlet', 'distribution', 'exponential_family', 'geometric', 'gumbel', 'independent', 'kl', 'kl_divergence', 'laplace', 'lognormal', 'multinomial', 'multivariate_normal', 'normal', 'poisson', 'register_kl', 'transform', 'transformed_distribution', 'uniform', 'variable']
>>> len(dir(paddle.distribution))
69
>>> dir(paddle.distribution.transform)
['AbsTransform', 'AffineTransform', 'ChainTransform', 'ExpTransform', 'F', 'IndependentTransform', 'PowerTransform', 'ReshapeTransform', 'SigmoidTransform', 'SoftmaxTransform', 'StackTransform', 'StickBreakingTransform', 'TanhTransform', 'Transform', 'Type', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'constraint', 'distribution', 'enum', 'math', 'paddle', 'transformed_distribution', 'typing', 'variable']
>>> len(dir(paddle.distribution.transform))
31
>>>

paddle.distribution.transform下少了一个__all__这个只有python/paddle/distribution/__init__.py在使用

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API 是看 __all__ 不是看 dir

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

根据文档: Importing * From a Package, 移除会导致在from paddle.distribution.transform import *Type被导入,所以回滚了

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这不是关键,关键是 Paddle 的 API 是看 __all__

Copy link
Member Author

@gouzil gouzil Dec 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Paddle 的 API 似乎只看 __init__.py 下的



class Type(enum.Enum):
"""Mapping type of a transformation."""
Expand Down