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 | tf.TensorShape, форма, подлежащая разбиению. |
dtype | tf.dtypes.Dtype , указывающий тип значения разбиения. |
axis | Ось для разбиения. По умолчанию - самая внешняя ось. |
| Возвращаемое значение | |
|---|---|
| Список целых чисел, представляющих количество разделов на каждой оси, где i-е значение соответствует i-й оси. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/distribute/experimental/partitioners/MinSizePartitioner