MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / CalcSamePadding

Function CalcSamePadding

oneflow/user/ops/nn_util.cpp:48–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46}
47
48Maybe<void> CalcSamePadding(int64_t input_size, int32_t filter_size, int32_t dilation_rate,
49 int32_t stride, int32_t* padding_small, int32_t* padding_large) {
50 CHECK_GT_OR_RETURN(stride, 0);
51 CHECK_GE_OR_RETURN(dilation_rate, 1);
52
53 int32_t effective_filter_size = (filter_size - 1) * dilation_rate + 1;
54 int64_t tmp_output_size = (input_size + stride - 1) / stride;
55 const int32_t padding_needed = std::max(
56 0, static_cast<int32_t>((tmp_output_size - 1) * stride + effective_filter_size - input_size));
57 if (padding_small) { *padding_small = padding_needed / 2; }
58 if (padding_large) { *padding_large = padding_needed - padding_needed / 2; }
59 return Maybe<void>::Ok();
60}
61
62Maybe<void> CalcConvOut(int64_t input_size, int32_t filter_size, int32_t dilation_rate,
63 int32_t stride, int32_t padding_before, int64_t* output_size) {

Callers 3

ComputeMethod · 0.85
ComputeMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected