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 | Минимальное количество байтов для каждого шарда. По умолчанию — 256K. |
max_shards | Верхняя граница количества шардов. По умолчанию — 1. |
bytes_per_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 | объект tf.TensorShape — форма, которую необходимо разбить. |
dtype | объект 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