use_keys_cubic Class — pytorch Architecture
Architecture documentation for the use_keys_cubic class in UpSampleKernel.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/cpu/UpSampleKernel.cpp lines 1334–1350
template<typename scalar_t, bool use_keys_cubic=true>
static inline scalar_t aa_filter(scalar_t x) {
// https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm
// a = -0.5 was proposed by R. Keys in "Cubic convolution interpolation for digital image processing"
// We are using -0.5 for bicubic, antialiasing=true (compatibility with PIL)
// and using -0.75 for bicubic, antialiasing=false (compatibility with Opencv)
constexpr scalar_t a = use_keys_cubic ? -0.5 : -0.75;
x = std::abs(x);
if (x < 1.0) {
return cubic_convolution1(x, a);
}
if (x < 2.0) {
return cubic_convolution2(x, a);
}
return 0.0;
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free