Skip to content

Conversation

MarioLulab
Copy link
Contributor

@MarioLulab MarioLulab commented Nov 26, 2023

PR types

Others

PR changes

Others

Description

任务 issue: #58067

PIR API 推全升级

  1. paddle.nn.functional.instance_norm 迁移升级至 pir,并更新单测,单测覆盖率(7/11)

TODO:

  1. test/legacy_test/test_instance_norm_op.py 中的 TestCompositeInstanceNormNorm 单测未适配,因为 paddle.static.gradients 尚未支持 pir 模式
  2. test/legacy_test/test_instance_norm_op.py 中的 TestInstanceNormOpTraining 单测未适配,因为其通过 block.create_varblock.append_op 创建 program,无法统一到 pir 中
  3. test/legacy_test/test_instance_norm_op.py 中的 TestInstanceNormOpError 单测未适配,因为其测试的是静态图专用 api paddle.static.nn.instance_norm
  1. paddle.nn.InstanceNorm1D 迁移升级至 pir,并更新单测,单测覆盖率(0/0)

  2. paddle.nn.InstanceNorm2D 迁移升级至 pir,并更新单测,单测覆盖率(3/4)

  3. paddle.nn.InstanceNorm3D 迁移升级至 pir,并更新单测,单测覆盖率(0/0)

TODO:

  1. 跳过 test/legacy_test/test_layers.py 文件的 test_instance_norm 单测中的 _test_errors ,此为 check type 相关的检测,在 pir 模式下报错:
ERROR: test_instance_norm (test_layers.TestLayer)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/luq/docker/paddle-docker/Paddle-bak/test/legacy_test/test_layers.py", line 987, in test_instance_norm
    _test_errors()
  File "/luq/docker/paddle-docker/Paddle-bak/test/legacy_test/test_layers.py", line 983, in _test_errors
    self.assertRaises(TypeError, test_type)
  File "/usr/lib/python3.7/unittest/case.py", line 756, in assertRaises
    return context.handle('assertRaises', args, kwargs)
  File "/usr/lib/python3.7/unittest/case.py", line 178, in handle
    callable_obj(*args, **kwargs)
  File "/luq/docker/paddle-docker/Paddle-bak/test/legacy_test/test_layers.py", line 981, in test_type
    ret2 = instanceNorm(input)
  File "/luq/docker/paddle-docker/Paddle-bak/build/python/paddle/nn/layer/layers.py", line 1426, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/luq/docker/paddle-docker/Paddle-bak/build/python/paddle/nn/layer/layers.py", line 1405, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/luq/docker/paddle-docker/Paddle-bak/build/python/paddle/nn/layer/norm.py", line 114, in forward
    data_format=self._data_format,
  File "/luq/docker/paddle-docker/Paddle-bak/build/python/paddle/nn/functional/norm.py", line 445, in instance_norm
    out = _C_ops.instance_norm(x, weight, bias, eps)
ValueError: (InvalidArgument) instance_norm(): argument (position 1) must be OpResult, but got numpy.ndarray (at /luq/docker/paddle-docker/Paddle-bak/paddle/fluid/pybind/eager_utils.cc:2107)

Copy link

paddle-bot bot commented Nov 26, 2023

你的PR提交成功,感谢你对开源项目的贡献!
请关注后续CI自动化测试结果,详情请参考Paddle-CI手册
Your PR has been submitted. Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

@paddle-bot paddle-bot bot added the contributor External developers label Nov 26, 2023
@MarioLulab MarioLulab changed the title 【PIR API adaptor No.115、96】 Migrate instance_norm into pir 【PIR API adaptor No.115】 Migrate instance_norm into pir Nov 26, 2023
Copy link
Contributor

@Aurelius84 Aurelius84 left a comment

Choose a reason for hiding this comment

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

LGTM

@0x45f 0x45f merged commit 87353ee into PaddlePaddle:develop Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributor External developers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants