Rate this Page

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#