Rate this Page

Struct MultiMarginLossOptions#

Page Contents

Struct Documentation#

struct MultiMarginLossOptions#

Options for the MultiMarginLoss module.

Example:

MultiMarginLoss model(MultiMarginLossOptions().margin(2).weight(weight));

Public Types

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

Public Functions

inline auto p(const int64_t &new_p) -> decltype(*this)#

Has a default value of :math:1.

:math:1 and :math:2 are the only supported values.

inline auto p(int64_t &&new_p) -> decltype(*this)#
inline const int64_t &p() const noexcept#
inline int64_t &p() noexcept#
inline auto margin(const double &new_margin) -> decltype(*this)#

Has a default value of :math:1.

inline auto margin(double &&new_margin) -> decltype(*this)#
inline const double &margin() const noexcept#
inline double &margin() noexcept#
inline auto weight(const Tensor &new_weight) -> decltype(*this)#

A manual rescaling weight given to each class.

If given, it has to be a Tensor of size C. Otherwise, it is treated as if having all ones.

inline auto weight(Tensor &&new_weight) -> decltype(*this)#
inline const Tensor &weight() const noexcept#
inline Tensor &weight() noexcept#
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#