Struct MultiMarginLossOptions

Page Contents

Struct Documentation

struct MultiMarginLossOptions

Options for the MultiMarginLoss module.


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


Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources