Struct MultiMarginLossOptions

Page Contents

Struct Documentation

struct torch::nn::MultiMarginLossOptions

Options for the MultiMarginLoss module.


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

Public Types

typedef c10::variant<enumtype::kNone, enumtype::kMean, enumtype::kSum> reduction_t

Public Functions

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.

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

Has a default value of :math:1.

auto margin(double &&new_margin) -> decltype(*this)
const double &margin() const noexcept
double &margin() noexcept
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.

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

auto reduction(reduction_t &&new_reduction) -> decltype(*this)
const reduction_t &reduction() const noexcept
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