MCPcopy
hub / github.com/pytorch/vision / check_kernel

Function check_kernel

test/test_transforms_v2.py:162–192  ·  view source on GitHub ↗
(
    kernel,
    input,
    *args,
    check_cuda_vs_cpu=True,
    check_scripted_vs_eager=True,
    check_batched_vs_unbatched=True,
    **kwargs,
)

Source from the content-addressed store, hash-verified

160
161
162def check_kernel(
163 kernel,
164 input,
165 *args,
166 check_cuda_vs_cpu=True,
167 check_scripted_vs_eager=True,
168 check_batched_vs_unbatched=True,
169 **kwargs,
170):
171 initial_input_version = input._version
172
173 output = kernel(input.as_subclass(torch.Tensor), *args, **kwargs)
174 # Most kernels just return a tensor, but some also return some additional metadata
175 if not isinstance(output, torch.Tensor):
176 output, *_ = output
177
178 # check that no inplace operation happened
179 assert input._version == initial_input_version
180
181 if kernel not in {F.to_dtype_image, F.to_dtype_video}:
182 assert output.dtype == input.dtype
183 assert output.device == input.device
184
185 if check_cuda_vs_cpu:
186 _check_kernel_cuda_vs_cpu(kernel, input, *args, **kwargs, **_to_tolerances(check_cuda_vs_cpu))
187
188 if check_scripted_vs_eager:
189 _check_kernel_scripted_vs_eager(kernel, input, *args, **kwargs, **_to_tolerances(check_scripted_vs_eager))
190
191 if check_batched_vs_unbatched:
192 _check_kernel_batched_vs_unbatched(kernel, input, *args, **kwargs, **_to_tolerances(check_batched_vs_unbatched))
193
194
195def _check_functional_scripted_smoke(functional, input, *args, **kwargs):

Callers 15

test_kernel_imageMethod · 0.85
test_kernel_keypointsMethod · 0.85
test_kernel_maskMethod · 0.85
test_kernel_videoMethod · 0.85
test_kernel_imageMethod · 0.85
test_kernel_keypointsMethod · 0.85
test_kernel_maskMethod · 0.85
test_kernel_videoMethod · 0.85
_check_kernelMethod · 0.85
test_kernel_imageMethod · 0.85

Calls 4

_to_tolerancesFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…