Rate this Page

Struct TripletMarginLossImpl#

Inheritance Relationships#

Base Type#

Struct Documentation#

struct TripletMarginLossImpl : public torch::nn::Cloneable<TripletMarginLossImpl>#

Creates a criterion that measures the triplet loss given an input tensors :math:x1, :math:x2, :math:x3 and a margin with a value greater than :math:0.

This is used for measuring a relative similarity between samples. A triplet is composed by a, p and n (i.e., anchor, positive examples and negative examples respectively). The shapes of all input tensors should be :math:(N, D). See https://pytorch.org/docs/main/nn.html#torch.nn.TripletMarginLoss to learn about the exact behavior of this module.

See the documentation for torch::nn::TripletMarginLossOptions class to learn what constructor arguments are supported for this module.

Example:

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

Public Functions

explicit TripletMarginLossImpl(TripletMarginLossOptions options_ = {})#
virtual void reset() override#

reset() must perform initialization of all members with reference semantics, most importantly parameters, buffers and submodules.

virtual void pretty_print(std::ostream &stream) const override#

Pretty prints the TripletMarginLoss module into the given stream.

Tensor forward(const Tensor &anchor, const Tensor &positive, const Tensor &negative)#

Public Members

TripletMarginLossOptions options#

The options with which this Module was constructed.