Rate this Page

Struct CrossEntropyLossOptions#

Page Contents

Struct Documentation#

struct CrossEntropyLossOptions#

Options for the CrossEntropyLoss module.

Example:

CrossEntropyLoss
model(CrossEntropyLossOptions().ignore_index(-100).reduction(torch::kMean));

Public Types

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

Public Functions

inline auto weight(const Tensor &new_weight) -> decltype(*this)#

A manual rescaling weight given to each class.

If given, has to be a Tensor of size C

inline auto weight(Tensor &&new_weight) -> decltype(*this)#
inline const Tensor &weight() const noexcept#
inline Tensor &weight() noexcept#
inline auto ignore_index(const int64_t &new_ignore_index) -> decltype(*this)#

Specifies a target value that is ignored and does not contribute to the input gradient.

inline auto ignore_index(int64_t &&new_ignore_index) -> decltype(*this)#
inline const int64_t &ignore_index() const noexcept#
inline int64_t &ignore_index() 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#
inline auto label_smoothing(const double &new_label_smoothing) -> decltype(*this)#

Specifies the amount of smoothing when computing the loss. Default: 0.0.

inline auto label_smoothing(double &&new_label_smoothing) -> decltype(*this)#
inline const double &label_smoothing() const noexcept#
inline double &label_smoothing() noexcept#