tf.distribute.experimental.coordinator.RemoteValue
Асинхронно доступное значение запланированной функции.
Этот класс используется в качестве возвращаемого значения tf.distribute.experimental.coordinator.ClusterCoordinator.schedule, где базовое значение становится доступным позже, после выполнения функции.
Использование tf.distribute.experimental.coordinator.RemoteValue в качестве входных данных для последующей функции, запланированной с помощью tf.distribute.experimental.coordinator.ClusterCoordinator.schedule, в настоящее время не поддерживается.
Пример:
strategy = tf.distribute.experimental.ParameterServerStrategy(
cluster_resolver=...)
coordinator = (
tf.distribute.experimental.coordinator.ClusterCoordinator(strategy))
with strategy.scope():
v1 = tf.Variable(initial_value=0.0)
v2 = tf.Variable(initial_value=1.0)
@tf.function
def worker_fn():
v1.assign_add(0.1)
v2.assign_sub(0.2)
return v1.read_value() / v2.read_value()
result = coordinator.schedule(worker_fn)
# Note that `fetch()` gives the actual result instead of a `tf.Tensor`.
assert result.fetch() == 0.125
for _ in range(10):
# `worker_fn` will be run on arbitrary workers that are available. The
# `result` value will be available later.
result = coordinator.schedule(worker_fn)
Методы
fetch
fetch()
Ожидание результата RemoteValue и возврат результата NumPy.
Это делает значение конкретным, копируя удаленное значение в локальное.
| Возвращаемое значение | |
|---|---|
Структура массива NumPy фактического результата tf.function, связанной с этим RemoteValue, ранее возвращенной вызовом tf.distribute.experimental.coordinator.ClusterCoordinator.schedule. Это может быть одно значение или структура значений в зависимости от результата tf.function. |
| Исключения | |
|---|---|
tf.errors.CancelledError | Если функция, производящая это RemoteValue, прервана или отменена из-за ошибки. |
get
get()
Ожидание результата RemoteValue и возврат результата тензора.
Это делает значение конкретным, копируя удаленный тензор в локальное.
| Возвращаемое значение | |
|---|---|
Фактический результат (в форме tf.Tensor) tf.function, связанной с этим RemoteValue, ранее возвращенной вызовом tf.distribute.experimental.coordinator.ClusterCoordinator.schedule. Это может быть один тензор или структура тензоров в зависимости от результата tf.function. |
| Исключения | |
|---|---|
tf.errors.CancelledError | Если функция, производящая это RemoteValue, прервана или отменена из-за ошибки. |
© 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/coordinator/RemoteValue