mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/55351 We incorrectly used `Tensor&` to mean "the underlying TensorImpl cannot be changed", as explained in https://github.com/zdevito/ATen/issues/27#issuecomment-330717839 . This diff gets us on the path to fixing this problem: we have an incremental way to fix individual native functions so that we can apply any handwritten fixes a few at a time. It gets the migration started with the `resize` family of native functions. ghstack-source-id: 127092677 Test Plan: fitsships Reviewed By: ezyang Differential Revision: D27583983 fbshipit-source-id: 4eeeec85f5d268e9d0f1645eb9396914a9f9557f
16 lines
582 B
Python
16 lines
582 B
Python
from tools.codegen.api.autograd import NativeFunctionWithDifferentiabilityInfo as NFWDI
|
|
from tools.codegen.context import native_function_manager
|
|
from tools.codegen.utils import T
|
|
|
|
import functools
|
|
from typing import Callable
|
|
|
|
# Like tools.api.context.with_native_function, but for
|
|
# NativeFunctionWithDifferentiabilityInfo.
|
|
def with_native_function_with_differentiability_info(func: Callable[[NFWDI], T]) -> Callable[[NFWDI], T]:
|
|
@functools.wraps(func)
|
|
def wrapper(f: NFWDI) -> T:
|
|
with native_function_manager(f.func):
|
|
return func(f)
|
|
return wrapper
|