Spec-Zone.ru › TensorFlow

tf.test.experimental.sync_devices

Синхронизирует все устройства.

Просмотр псевдонимов

Псевдонимы совместимости для миграции

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.test.experimental.sync_devices

tf.test.experimental.sync_devices() -> None

По умолчанию графические процессоры работают асинхронно. Это означает, что при выполнении операции на графическом процессоре, например, tf.linalg.matmul, операция может по-прежнему выполняться на графическом процессоре, когда функция возвращает значение. Устройства, не являющиеся графическими процессорами, также могут быть настроены на асинхронную работу, вызвав tf.config.experimental.set_synchronous_execution(False). Вызов sync_devices() блокирует выполнение, пока ожидаемые операции не завершат выполнение. Это в первую очередь полезно для измерения производительности во время тестирования.

Например, вот как можно измерить время выполнения tf.linalg.matmul:

import time
x = tf.random.normal((4096, 4096))
tf.linalg.matmul(x, x)  # Warmup.
tf.test.experimental.sync_devices()  # Block until warmup has completed.

start = time.time()
y = tf.linalg.matmul(x, x)
tf.test.experimental.sync_devices()  # Block until matmul has completed.
end = time.time()
print(f'Time taken: {end - start}')

Если вызов sync_devices() был опущен, время, выведенное на печать, может быть слишком малым. Это происходит потому, что операция может по-прежнему выполняться асинхронно, когда выполняется строка end = time.time().

Возможные исключения
RuntimeError Если выполняется вне режима Eager. Этот метод должен вызываться в режиме Eager, за пределами любых tf.function.

© 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/test/experimental/sync_devices

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API