pytorch - 💡(How to fix) Fix DISABLED test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32 (__main__.TestCustomOpTestingCPU) [2 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
pytorch/pytorch#180301Fetched 2026-04-15 06:18:45
View on GitHub
Comments
2
Participants
1
Timeline
18
Reactions
0
Participants
Timeline (top)
labeled ×6mentioned ×5subscribed ×5commented ×2

Error Message

Traceback (most recent call last): File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 695, in opcheck tester(op, args, kwargs, rtol=rtol, atol=atol) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 61, in safe_schema_check result = op(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in call return self._op(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner return disable_fn(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn return fn(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_subclasses/schema_check_mode.py", line 184, in torch_dispatch out = func(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in call return self._op(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 375, in backend_impl result = self._backend_fns[device_type](*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner return disable_fn(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn return fn(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 410, in wrapped_fn return fn(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 353, in numpy_split_copy_with_int x_np = to_numpy(x) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 29, in to_numpy return tensor.cpu().numpy() RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 1175, in test_wrapper return test(*args, **kwargs) File "/__w/pytorch/pytorch/test/test_custom_ops.py", line 444, in test_opcheck_opinfo torch.library.opcheck(op.op, args, kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/library.py", line 1749, in opcheck return optests.opcheck( File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 699, in opcheck raise OpCheckError( torch.testing._internal.optests.generate_tests.OpCheckError: opcheck(op, ...): test_schema failed with Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead. (scroll up for stack trace)

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 3444, in wrapper method(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 439, in instantiated_test result = test(self, **param_kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 1821, in wrapper fn(*args, **kwargs) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 1187, in test_wrapper raise e_tracked from e Exception: opcheck(op, ...): test_schema failed with Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead. (scroll up for stack trace)

Caused by sample input at index 0: SampleInput(input=Tensor[size=(2, 9), device="cpu", dtype=torch.float32], args=((1,3,6),1), kwargs={}, broadcasts_input=False, name='')

To execute this test, run the following from the base repo dir: PYTORCH_OPINFO_SAMPLE_INPUT_INDEX=0 python test/test_custom_ops.py TestCustomOpTestingCPU.test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32

This message can be suppressed by setting PYTORCH_PRINT_REPRO_ON_FAILURE=0

Root Cause

This test was disabled because it is failing in CI. See recent examples and the most recent trunk workflow logs.

Fix Action

Fix / Workaround

Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 695, in opcheck
    tester(op, args, kwargs, rtol=rtol, atol=atol)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 61, in safe_schema_check
    result = op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in __call__
    return self._op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner
    return disable_fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_subclasses/schema_check_mode.py", line 184, in __torch_dispatch__
    out = func(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in __call__
    return self._op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 375, in backend_impl
    result = self._backend_fns[device_type](*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner
    return disable_fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 410, in wrapped_fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 353, in numpy_split_copy_with_int
    x_np = to_numpy(x)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 29, in to_numpy
    return tensor.cpu().numpy()
RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.

Code Example

Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 695, in opcheck
    tester(op, args, kwargs, rtol=rtol, atol=atol)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 61, in safe_schema_check
    result = op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in __call__
    return self._op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner
    return disable_fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_subclasses/schema_check_mode.py", line 184, in __torch_dispatch__
    out = func(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in __call__
    return self._op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 375, in backend_impl
    result = self._backend_fns[device_type](*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner
    return disable_fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 410, in wrapped_fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 353, in numpy_split_copy_with_int
    x_np = to_numpy(x)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 29, in to_numpy
    return tensor.cpu().numpy()
RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 1175, in test_wrapper
    return test(*args, **kwargs)
  File "/__w/pytorch/pytorch/test/test_custom_ops.py", line 444, in test_opcheck_opinfo
    torch.library.opcheck(op.op, args, kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/library.py", line 1749, in opcheck
    return optests.opcheck(
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 699, in opcheck
    raise OpCheckError(
torch.testing._internal.optests.generate_tests.OpCheckError: opcheck(op, ...): test_schema failed with Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead. (scroll up for stack trace)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 3444, in wrapper
    method(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 439, in instantiated_test
    result = test(self, **param_kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 1821, in wrapper
    fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 1187, in test_wrapper
    raise e_tracked from e
Exception: opcheck(op, ...): test_schema failed with Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead. (scroll up for stack trace)

Caused by sample input at index 0: SampleInput(input=Tensor[size=(2, 9), device="cpu", dtype=torch.float32], args=((1,3,6),1), kwargs={}, broadcasts_input=False, name='')

To execute this test, run the following from the base repo dir:
    PYTORCH_OPINFO_SAMPLE_INPUT_INDEX=0 python test/test_custom_ops.py TestCustomOpTestingCPU.test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32

This message can be suppressed by setting PYTORCH_PRINT_REPRO_ON_FAILURE=0
RAW_BUFFERClick to expand / collapse

Platforms: asan, linux

This test was disabled because it is failing in CI. See recent examples and the most recent trunk workflow logs.

Over the past 6 hours, it has been determined flaky in 125 workflow(s) with 250 failures and 125 successes.

Debugging instructions (after clicking on the recent samples link): DO NOT ASSUME THINGS ARE OKAY IF THE CI IS GREEN. We now shield flaky tests from developers so CI will thus be green but it will be harder to parse the logs. To find relevant log snippets:

  1. Click on the workflow logs linked above
  2. Click on the Test step of the job so that it is expanded. Otherwise, the grepping will not work.
  3. Grep for test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32
  4. There should be several instances run (as flaky tests are rerun in CI) from which you can study the logs.
<details><summary>Sample error message</summary>
Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 695, in opcheck
    tester(op, args, kwargs, rtol=rtol, atol=atol)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 61, in safe_schema_check
    result = op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in __call__
    return self._op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner
    return disable_fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_subclasses/schema_check_mode.py", line 184, in __torch_dispatch__
    out = func(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_ops.py", line 871, in __call__
    return self._op(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 375, in backend_impl
    result = self._backend_fns[device_type](*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_compile.py", line 54, in inner
    return disable_fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py", line 1281, in _fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 410, in wrapped_fn
    return fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 353, in numpy_split_copy_with_int
    x_np = to_numpy(x)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/custom_op_db.py", line 29, in to_numpy
    return tensor.cpu().numpy()
RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 1175, in test_wrapper
    return test(*args, **kwargs)
  File "/__w/pytorch/pytorch/test/test_custom_ops.py", line 444, in test_opcheck_opinfo
    torch.library.opcheck(op.op, args, kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/library.py", line 1749, in opcheck
    return optests.opcheck(
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/optests/generate_tests.py", line 699, in opcheck
    raise OpCheckError(
torch.testing._internal.optests.generate_tests.OpCheckError: opcheck(op, ...): test_schema failed with Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead. (scroll up for stack trace)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 3444, in wrapper
    method(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 439, in instantiated_test
    result = test(self, **param_kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 1821, in wrapper
    fn(*args, **kwargs)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 1187, in test_wrapper
    raise e_tracked from e
Exception: opcheck(op, ...): test_schema failed with Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead. (scroll up for stack trace)

Caused by sample input at index 0: SampleInput(input=Tensor[size=(2, 9), device="cpu", dtype=torch.float32], args=((1,3,6),1), kwargs={}, broadcasts_input=False, name='')

To execute this test, run the following from the base repo dir:
    PYTORCH_OPINFO_SAMPLE_INPUT_INDEX=0 python test/test_custom_ops.py TestCustomOpTestingCPU.test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32

This message can be suppressed by setting PYTORCH_PRINT_REPRO_ON_FAILURE=0
</details>

Test file path: test_custom_ops.py

For all disabled tests (by GitHub issue), see https://hud.pytorch.org/disabled.

cc @chauhang @penguinwu @bdhirsh @bobrenjc93 @aorenste

extent analysis

TL;DR

The most likely fix is to modify the to_numpy function to use tensor.detach().numpy() instead of tensor.numpy() to avoid the error caused by calling numpy() on a Tensor that requires grad.

Guidance

  • Identify the to_numpy function in torch/testing/_internal/custom_op_db.py and modify it to use tensor.detach().numpy() instead of tensor.numpy().
  • Verify that the test test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32 in test_custom_ops.py passes after making the change.
  • Check the PyTorch documentation for any other instances where tensor.numpy() is used on Tensors that require grad and update those cases as well.
  • Run the test with the modified code using the command PYTORCH_OPINFO_SAMPLE_INPUT_INDEX=0 python test/test_custom_ops.py TestCustomOpTestingCPU.test_opcheck_opinfo_NumpySplitCopyWithIntCustomOp_cpu_float32 to ensure the fix works.

Example

# In torch/testing/_internal/custom_op_db.py
def to_numpy(x):
    return x.detach().numpy()  # Use detach() to avoid the error

Notes

This fix assumes that the error is caused by the to_numpy function being called on a Tensor that requires grad. If the issue persists after making this change, further investigation may be needed to identify the root cause.

Recommendation

Apply the workaround by modifying the to_numpy function to use tensor.detach().numpy() instead of tensor.numpy(), as this should fix the immediate issue and allow the test to pass.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING