multilabel_margin_loss_forward_inner_sum_cpu Class — pytorch Architecture
Architecture documentation for the multilabel_margin_loss_forward_inner_sum_cpu class in LossMultiLabelMargin.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/LossMultiLabelMargin.cpp lines 25–58
template <typename scalar_t>
inline scalar_t multilabel_margin_loss_forward_inner_sum_cpu(
const scalar_t* input_data,
const int64_t* target_data,
scalar_t* is_target_data,
int64_t dim) {
using accscalar_t = at::acc_type<scalar_t, false>;
accscalar_t sum = 0;
for (const auto ddt : c10::irange(dim)) {
int64_t target_idx = target_data[ddt];
if (target_idx < 0) {
break;
}
is_target_data[target_idx] = 1;
}
for (const auto dt : c10::irange(dim)) {
int64_t target_idx = target_data[dt];
if (target_idx < 0) {
break;
}
scalar_t input_target = input_data[target_idx];
for (const auto d : c10::irange(dim)) {
if (!is_target_data[d]) {
scalar_t z = 1 - input_target + input_data[d];
if (z > 0) {
sum += z;
}
}
}
}
return sum;
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free