tf.distribute.experimental.partitioners.MinSizePartitioner
Партишнёр, который выделяет минимальный размер для каждого фрагмента.
Наследуется от: Partitioner
tf.distribute.experimental.partitioners.MinSizePartitioner(
min_shard_bytes=(256 << 10), max_shards=1, bytes_per_string=16
)
Используется в блокнотах
| Используется в учебниках |
|---|
Этот партишнёр гарантирует, что каждый фрагмент имеет по меньшей мере min_shard_bytes, и пытается выделить как можно больше фрагментов, то есть, сохраняя размер фрагмента как можно меньше. Максимальное количество таких фрагментов (верхняя граница) задаётся значением max_shards.
Примеры:
partitioner = MinSizePartitioner(min_shard_bytes=4, max_shards=2) partitions = partitioner(tf.TensorShape([6, 1]), tf.float32) [2, 1] partitioner = MinSizePartitioner(min_shard_bytes=4, max_shards=10) partitions = partitioner(tf.TensorShape([6, 1]), tf.float32) [6, 1] # use in ParameterServerStrategy # strategy = tf.distribute.experimental.ParameterServerStrategy( # cluster_resolver=cluster_resolver, variable_partitioner=partitioner)
| Аргументы | |
|---|---|
min_shard_bytes | Минимальный размер каждого фрагмента в байтах. По умолчанию 256К. |
max_shards | Верхняя граница количества фрагментов. По умолчанию 1. |
bytes_per_string | Если значение разделения имеет тип string, это даёт оценку размера каждого string. |
Методы
__call__
__call__(
shape, dtype, axis=0
)
Разделяет заданное shape и возвращает результаты разделения.
Примеры партишнёра, который выделяет фиксированное количество фрагментов:
partitioner = FixedShardsPartitioner(num_shards=2) partitions = partitioner(tf.TensorShape([10, 3], tf.float32), axis=0) print(partitions) # [2, 0]
| Аргументы | |
|---|---|
shape | a tf.TensorShape, форма для разделения. |
dtype | a tf.dtypes.Dtype, указывающее тип значения разделения. |
axis | Ось для разделения. По умолчанию - внешняя ось. |
| Возвращает | |
|---|---|
| Список целых чисел, представляющий количество разделений на каждой оси, где i-е значение соответствует i-й оси. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/partitioners/MinSizePartitioner