快捷方式

稀疏数据运算符

CUDA 运算符

at::Tensor expand_into_jagged_permute_cuda(const at::Tensor &permute, const at::Tensor &input_offsets, const at::Tensor &output_offsets, int64_t output_size)

expand_into_jagged_permute 将表维度的稀疏数据置换索引扩展到批次维度,用于稀疏特征在不同 rank 之间具有不同批次大小的情况。

参数:
  • permute – 表级别的置换索引。

  • input_offsets – 表级长度的独占偏移量。

  • output_offsets – 表级置换长度的独占偏移量。该操作通过连续映射每个 bag 到批次在特征置换后所处位置,将置换从表级别扩展到批次级别。我们将推导表和批次的偏移量数组以计算输出置换。

返回:

输出遵循以下公式

output_permute[table_offset[permute[table]] + batch] <- bag_offset[batch]

CPU 运算符

std::tuple<at::Tensor, at::Tensor> generic_histogram_binning_calibration_by_feature_cpu(const at::Tensor &logit, const at::Tensor &segment_value, const at::Tensor &segment_lengths, int64_t num_segments, const at::Tensor &bin_num_examples, const at::Tensor &bin_num_positives, const at::Tensor &bin_boundaries, double positive_weight, int64_t bin_ctr_in_use_after = 0, double bin_ctr_weight_value = 1.0)

将预测范围(例如 [0, 1])划分为 B 个 bin。在每个 bin 中,使用两个参数来存储正例的数量和落入该 bin 的示例数量。因此,我们基本上有一个模型预测的直方图。结果是,对于每个 bin,我们都有一个真实 CTR(num_pos / num_example)的统计值。

). 如果预校准预测落入相应的 bin,我们将此统计值用作最终校准的预测。这样,如果我们有足够的示例,每个 bin 中的预测应该是经过良好校准的。也就是说,我们通过此校准模块拥有一个精细校准的模型。理论上,如果bin数和示例数足够多,此校准层可以修复任何未经校准的模型或预测。

/ / 直方图分箱校准模型的扩展,该模型根据特定特征和预测/ECTR范围将数据分箱。在每个 bin 中,/ 使用两个参数来存储正例的数量和落入该 bin 的示例数量。因此,我们基本上有一个模型预测的直方图。/ 结果是,对于每个 bin,我们都有一个真实 CTR(num_pos / num_example)的统计值。/ 如果预校准预测落入相应的 bin,我们将此统计值用作最终校准的预测。这样,如果我们有足够的示例,每个 bin 中的预测应该是经过良好校准的。也就是说,我们/ 通过此校准模块拥有一个精细校准的模型。理论上,/ 如果 bin 数和示例数足够多,此校准层可以修复任何未经校准的模型或预测。/ /

与上面相同,但接受通用的“bin_boundaries”,假定它是已排序的。

参数:
  • logit – 是应用 Sigmoid 之前的输入张量。假定使用正权重校准来校准目标,并且

  • positive_weight – 作为输入参数传递。bin 的数量是从 bin_num_examplesbin_num_positives 自动得出的,它们的大小应该相同。/

  • lower/upper_bound – bin 的边界。/

  • bin_ctr_in_use_after – 如果我们没有足够的示例,我们将使用 calibration_target 作为最终校准的预测。/ 只有在观察到落入该 bin 的 bin_ctr_in_use_after 个示例后,才使用 bin CTR 的统计值。默认值:0。/

  • bin_ctr_weight_value – bin CTR 统计值的权重。/ 当指定此值时,我们对统计 bin CTR 和 calibration_target 执行加权和:/ / final_calibrated_prediction = bin_ctr_weight * bin_ctr + (1 - / bin_ctr_weight) * calibration_target / / 默认值:1.0 std::tuple<at::Tensor, at::Tensor> histogram_binning_calibration_cpu( const at::Tensor& logit, const at::Tensor& bin_num_examples, const at::Tensor& bin_num_positives, double positive_weight, double lower_bound = 0.0, double upper_bound = 1.0, int64_t bin_ctr_in_use_after = 0, double bin_ctr_weight_value = 1.0);

  • logit – 是应用 Sigmoid 之前的输入张量。/

  • segment_value/lengths – KeyJaggedTensor 中的值和长度。/ 假定长度的值为 0 或 1。/

  • num_bins – bin 的数量不再与 bin_num_examples / 和 bin_num_positives 相同,/ 它们的大小仍然应该相同。/

  • lower/upper_bound – bin 的边界。/

  • bin_ctr_in_use_after – 如果我们没有足够的示例,我们将使用 calibration_target 作为最终校准的预测。/ 只有在观察到落入该 bin 的 bin_ctr_in_use_after 个示例后,才使用 bin CTR 的统计值。默认值为 0。/@parambin_ctr_weight_value bin CTR 统计值的权重。当/ 指定此值时,我们对统计 bin CTR 和 calibration_target 执行加权和:/ / final_calibrated_prediction = bin_ctr_weight * bin_ctr + (1 - / bin_ctr_weight) * calibration_target. / / 默认值:1.0

返回:

[calibrated_prediction, bin_ids]

返回:

[calibrated_prediction, bin_ids] /

返回:

已校准的预测。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源