當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.compat.v1.data.Dataset.group_by_window用法及代碼示例


用法

group_by_window(
    key_func, reduce_func, window_size=None, window_size_func=None, name=None
)

參數

  • key_func 將張量的嵌套結構(具有由 self.output_shapesself.output_types 定義的形狀和類型)映射到標量 tf.int64 張量的函數。
  • reduce_func 一個函數,將一個鍵和最多 window_size 與該鍵匹配的連續元素的數據集映射到另一個數據集。
  • window_size 一個 tf.int64 標量 tf.Tensor ,表示與同一鍵匹配的連續元素的數量以組合在一個批次中,這將傳遞給 reduce_func 。與 window_size_func 互斥。
  • window_size_func 將鍵映射到 tf.int64 標量 tf.Tensor 的函數,表示與同一鍵匹配的連續元素的數量以組合在一個批次中,這將傳遞給 reduce_func 。與 window_size 互斥。
  • name (可選。) tf.data 操作的名稱。

返回

  • 一個Dataset

拋出

  • ValueError 如果 {window_size , window_size_func} 都沒有或都通過。

通過鍵對元素窗口進行分組並減少它們。

此轉換使用key_func 將數據集中的每個連續元素映射到一個鍵,並按鍵對元素進行分組。然後它將reduce_func 應用於最多匹配相同鍵的window_size_func(key) 元素。除了每個鍵的最終窗口外,所有的都將包含window_size_func(key) 元素;最終的窗口可能會更小。

您可以提供常量 window_size 或由鍵通過 window_size_func 確定的窗口大小。

dataset = tf.data.Dataset.range(10)
window_size = 5
key_func = lambda x:x%2
reduce_func = lambda key, dataset:dataset.batch(window_size)
dataset = dataset.group_by_window(
          key_func=key_func,
          reduce_func=reduce_func,
          window_size=window_size)
for elem in dataset.as_numpy_iterator():
  print(elem)
[0 2 4 6 8]
[1 3 5 7 9]

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.data.Dataset.group_by_window。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。