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


Python dask.array.core.normalize_chunks用法及代碼示例


用法:

dask.array.core.normalize_chunks(chunks, shape=None, limit=None, dtype=None, previous_chunks=None)

將塊標準化為元組的元組

這接受各種輸入類型和信息,並為塊生成完整的tuple-of-tuples 結果,適合傳遞給 Array 或 rechunk 或任何其他創建 Dask 數組的操作。

參數

chunks: tuple, int, dict, or string

要規範化的塊。有關更多詳細信息,請參見下麵的示例

shape: Tuple[int]

陣列的形狀

limit: int (optional)

如果可以自由選擇,則以字節為目標的最大塊大小

dtype: np.dtype
previous_chunks: Tuple[Tuple[int]] optional

在重新分塊自動尺寸時,我們應該使用先前數組中的塊來獲取靈感。如果未提供但 auto-chunking 存在,則 auto-dimensions 將首選 square-like 塊形狀。

例子

指定統一的塊大小

>>> from dask.array.core import normalize_chunks
>>> normalize_chunks((2, 2), shape=(5, 6))
((2, 2, 1), (2, 2, 2))

還通過完全顯式tuple-of-tuples

>>> normalize_chunks(((2, 2, 1), (2, 2, 2)), shape=(5, 6))
((2, 2, 1), (2, 2, 2))

將列表清理為元組

>>> normalize_chunks([[2, 2], [3, 3]])
((2, 2), (3, 3))

擴展整數輸入 10 -> (10, 10)

>>> normalize_chunks(10, shape=(30, 5))
((10, 10, 10), (5,))

擴展 dict 輸入

>>> normalize_chunks({0: 2, 1: 3}, shape=(6, 6))
((2, 2, 2), (3, 3))

值 -1 和 None 被映射到全尺寸

>>> normalize_chunks((5, -1), shape=(10, 10))
((5, 5), (10,))

使用值 “auto” 自動確定沿某些維度的塊大小。這使用limit=dtype= 關鍵字來確定塊的大小。術語“auto” 可以在任何可以使用整數的地方使用。有關更多信息,請參閱數組分塊文檔。

>>> normalize_chunks(("auto",), shape=(20,), limit=5, dtype='uint8')
((5, 5, 5, 5),)

您還可以使用字節大小(參見 dask.utils.parse_bytes() )代替 “auto” 來請求特定大小

>>> normalize_chunks("1kiB", shape=(2000,), dtype='float32')
((250, 250, 250, 250, 250, 250, 250, 250),)

尊重空維度

>>> normalize_chunks((), shape=(0, 0))
((0,), (0,))

相關用法


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