• 文件 >
  • 稀疏資料運算子
快捷方式

稀疏資料運算子

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 函式將稀疏資料的置換索引從表維度擴充套件到批次維度,用於處理稀疏特徵在不同秩上具有不同批次大小的情況。

引數:
  • permute – 表級別的置換索引。

  • input_offsets – 表級別長度的 exclusive 偏移量。

  • output_offsets – 表級別置換後長度的 exclusive 偏移量。此操作透過將每個 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 中,使用兩個引數儲存正例的數量和落入此 bucket / 的示例數量。因此,我們基本上獲得了模型預測的直方圖。/ 結果是,對於每個 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 之前的輸入張量。/ / 假定對校準目標使用了正權重校準,並且 / positive_weight 作為輸入引數傳遞。 /

  • 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] /

返回值:

calibrated_prediction。

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並解答您的問題

檢視資源