Shortcuts

Struct TripletMarginLossOptions

Page Contents

Struct Documentation

struct TripletMarginLossOptions

Options for the TripletMarginLoss module.

Example:

TripletMarginLoss
model(TripletMarginLossOptions().margin(3).p(2).eps(1e-06).swap(false));

Public Types

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

Public Functions

inline auto margin(const double &new_margin) -> decltype(*this)

Specifies the threshold for which the distance of a negative sample must reach in order to incur zero loss.

Default: 1

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

Specifies the norm degree for pairwise distance. Default: 2.

inline auto p(double &&new_p) -> decltype(*this)
inline const double &p() const noexcept
inline double &p() noexcept
inline auto eps(const double &new_eps) -> decltype(*this)
inline auto eps(double &&new_eps) -> decltype(*this)
inline const double &eps() const noexcept
inline double &eps() noexcept
inline auto swap(const bool &new_swap) -> decltype(*this)

The distance swap is described in detail in the paper Learning shallow convolutional feature descriptors with triplet losses by V.

Balntas, E. Riba et al. Default: False

inline auto swap(bool &&new_swap) -> decltype(*this)
inline const bool &swap() const noexcept
inline bool &swap() noexcept
inline auto reduction(const reduction_t &new_reduction) -> decltype(*this)

Specifies the reduction to apply to the output. Default: Mean.

inline auto reduction(reduction_t &&new_reduction) -> decltype(*this)
inline const reduction_t &reduction() const noexcept
inline reduction_t &reduction() noexcept

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources