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/api_docs/python/tf/distribute/experimental/coordinator/RemoteValue