:github_url: https://github.com/pytorch/pytorch .. _program_listing_file_torch_csrc_api_include_torch_nn_options_padding.h: Program Listing for File padding.h ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``torch/csrc/api/include/torch/nn/options/padding.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include #include namespace torch::nn { template struct TORCH_API ReflectionPadOptions { ReflectionPadOptions(ExpandingArray padding) : padding_(padding) {} TORCH_ARG(ExpandingArray, padding); }; using ReflectionPad1dOptions = ReflectionPadOptions<1>; using ReflectionPad2dOptions = ReflectionPadOptions<2>; using ReflectionPad3dOptions = ReflectionPadOptions<3>; // ============================================================================ template struct TORCH_API ReplicationPadOptions { ReplicationPadOptions(ExpandingArray padding) : padding_(padding) {} TORCH_ARG(ExpandingArray, padding); }; using ReplicationPad1dOptions = ReplicationPadOptions<1>; using ReplicationPad2dOptions = ReplicationPadOptions<2>; using ReplicationPad3dOptions = ReplicationPadOptions<3>; // ============================================================================ template struct TORCH_API ZeroPadOptions { ZeroPadOptions(ExpandingArray padding) : padding_(padding) {} TORCH_ARG(ExpandingArray, padding); }; using ZeroPad1dOptions = ZeroPadOptions<1>; using ZeroPad2dOptions = ZeroPadOptions<2>; using ZeroPad3dOptions = ZeroPadOptions<3>; // ============================================================================ template struct TORCH_API ConstantPadOptions { ConstantPadOptions(ExpandingArray padding, double value) : padding_(padding), value_(value) {} TORCH_ARG(ExpandingArray, padding); TORCH_ARG(double, value); }; using ConstantPad1dOptions = ConstantPadOptions<1>; using ConstantPad2dOptions = ConstantPadOptions<2>; using ConstantPad3dOptions = ConstantPadOptions<3>; // ============================================================================ namespace functional { struct TORCH_API PadFuncOptions { typedef std::variant< enumtype::kConstant, enumtype::kReflect, enumtype::kReplicate, enumtype::kCircular> mode_t; PadFuncOptions(std::vector pad); TORCH_ARG(std::vector, pad); TORCH_ARG(mode_t, mode) = torch::kConstant; TORCH_ARG(double, value) = 0; }; } // namespace functional } // namespace torch::nn