Struct SmoothL1LossImpl#
Defined in File loss.h
Inheritance Relationships#
Base Type#
public torch::nn::Cloneable< SmoothL1LossImpl >(Template Class Cloneable)
Struct Documentation#
-
struct SmoothL1LossImpl : public torch::nn::Cloneable<SmoothL1LossImpl>#
Creates a criterion that uses a squared term if the absolute element-wise error falls below beta and an L1 term otherwise.
It is less sensitive to outliers than the
MSELossand in some cases prevents exploding gradients (e.g. see the paperFast R-CNNby Ross Girshick). See https://pytorch.org/docs/main/nn.html#torch.nn.SmoothL1Loss to learn about the exact behavior of this module.See the documentation for
torch::nn::SmoothL1LossOptionsclass to learn what constructor arguments are supported for this module.Example:
SmoothL1Loss model(SmoothL1LossOptions().reduction(torch::kNone).beta(0.5));
Public Functions
-
explicit SmoothL1LossImpl(SmoothL1LossOptions options = {})#
-
virtual void reset() override#
reset()must perform initialization of all members with reference semantics, most importantly parameters, buffers and submodules.
-
virtual void pretty_print(std::ostream &stream) const override#
Pretty prints the
L1Lossmodule into the givenstream.
-
Tensor forward(const Tensor &input, const Tensor &target)#
Public Members
-
SmoothL1LossOptions options#
The options with which this
Modulewas constructed.
-
explicit SmoothL1LossImpl(SmoothL1LossOptions options = {})#