Struct SmoothL1LossImpl¶
Defined in File loss.h
Page Contents
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
MSELoss
and in some cases prevents exploding gradients (e.g. see the paperFast R-CNN
by 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::SmoothL1LossOptions
class 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
L1Loss
module into the givenstream
.
-
Tensor forward(const Tensor &input, const Tensor &target)¶
Public Members
-
SmoothL1LossOptions options¶
The options with which this
Module
was constructed.
-
explicit SmoothL1LossImpl(SmoothL1LossOptions options = {})¶