multi_margin_inner_sum_cpu Class — pytorch Architecture
Architecture documentation for the multi_margin_inner_sum_cpu class in LossMultiMargin.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/LossMultiMargin.cpp lines 21–48
template <typename scalar_t>
inline scalar_t multi_margin_inner_sum_cpu(
const scalar_t* input_data,
const scalar_t* weight_data,
const int p,
const scalar_t margin,
const int64_t dim,
const int64_t target_idx) {
const scalar_t input_target = input_data[target_idx];
scalar_t sum = 0;
for (const auto d : c10::irange(dim)) {
if (d == target_idx) {
continue;
}
const scalar_t z = margin - input_target + input_data[d];
if (z > 0) {
scalar_t h = (p == 1) ? z : z * z;
if (weight_data != nullptr) {
h *= weight_data[target_idx];
}
sum += h;
}
}
sum /= dim;
return sum;
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free