Rate this Page

Struct HuberLossOptions#

Page Contents

Struct Documentation#

struct HuberLossOptions#

Options for the HuberLoss module.

Example:

HuberLoss model(HuberLossOptions().reduction(torch::kNone).delta(0.5));

Public Types

typedef std::variant<enumtype::kNone, enumtype::kMean, enumtype::kSum> reduction_t#

Public Functions

HuberLossOptions() = default#
inline HuberLossOptions(torch::enumtype::kNone reduction)#
inline HuberLossOptions(torch::enumtype::kMean reduction)#
inline HuberLossOptions(torch::enumtype::kSum reduction)#
inline auto reduction(const reduction_t &new_reduction) -> decltype(*this)#

Specifies the reduction to apply to the output: ‘none’ | ‘mean’ | ‘sum’.

‘none’: no reduction will be applied, ‘mean’: the sum of the output will be divided by the number of elements in the output, ‘sum’: the output will be summed. Default: ‘mean’

inline auto reduction(reduction_t &&new_reduction) -> decltype(*this)#
inline const reduction_t &reduction() const noexcept#
inline reduction_t &reduction() noexcept#
inline auto delta(const double &new_delta) -> decltype(*this)#

Specifies the threshold at which to change between L1 and L2 loss.

Default: 1.0

inline auto delta(double &&new_delta) -> decltype(*this)#
inline const double &delta() const noexcept#
inline double &delta() noexcept#