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 | Если значение раздела имеет тип строка, это даёт оценку размера каждой строки. |
Методы
__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/versions/r2.9/api_docs/python/tf/distribute/experimental/partitioners/MinSizePartitioner