Spec-Zone.ru › TensorFlow 2.9

tf.profiler.experimental.client.trace

Отправляет запросы gRPC одному или нескольким серверам профилирования для выполнения профилирования по запросу.

tf.profiler.experimental.client.trace(
    service_addr,
    logdir,
    duration_ms,
    worker_list='',
    num_tracing_attempts=3,
    options=None
)

Этот метод заблокирует вызывающую нить до получения ответов от всех серверов или истечения срока действия дедлайна. Поддерживается профилирование как для одного хоста, так и для нескольких хостов на CPU, GPU и TPU. Результаты профилирования будут сохранены каждым сервером в указанном каталоге журнала TensorBoard (т.е. в каталоге, где вы сохраняете контрольные точки модели). Используйте плагин профилирования TensorBoard для просмотра результатов визуализации и анализа.

Аргументы
service_addr Строка, содержащая адреса gRPC рабочих узлов для профилирования, разделённые запятыми. Пример: service_addr='grpc://localhost:6009' service_addr='grpc://10.0.0.2:8466,grpc://10.0.0.3:8466' service_addr='grpc://localhost:12345,grpc://localhost:23456'
logdir Путь для сохранения данных профилирования, обычно каталог журнала TensorBoard. Этот путь должен быть доступен как клиенту, так и серверу. Пример: logdir='gs://your_tb_dir'
duration_ms Длительность трассировки или мониторинга в миллисекундах. Должно быть больше нуля.
worker_list Необязательная конфигурация, только для TPU. Список рабочих узлов для профилирования в текущем сеансе.
num_tracing_attempts Необязательно. Автоматически повторяет попытку N раз, когда не собраны данные трассировки (по умолчанию 3).
options Кортеж namedtuple profiler.experimental.ProfilerOptions для различных параметров профилирования.
Исключения
InvalidArgumentError При ошибках валидации аргументов.
UnavailableError Если не были собраны данные трассировки.

Пример использования (CPU/GPU):

# Start a profiler server before your model runs.
tf.profiler.experimental.server.start(6009)
# (Model code goes here).
# Send gRPC request to the profiler server to collect a trace of your model.
tf.profiler.experimental.client.trace('grpc://localhost:6009',
                                      '/nfs/tb_log', 2000)

Пример использования (несколько GPU):

# E.g. your worker IP addresses are 10.0.0.2, 10.0.0.3, 10.0.0.4, and you
# would like to schedule start of profiling 1 second from now, for a
# duration of 2 seconds.
options['delay_ms'] = 1000
tf.profiler.experimental.client.trace(
    'grpc://10.0.0.2:8466,grpc://10.0.0.3:8466,grpc://10.0.0.4:8466',
    'gs://your_tb_dir',
    2000,
    options=options)

Пример использования (TPU):

# Send gRPC request to a TPU worker to collect a trace of your model. A
# profiler service has been started in the TPU worker at port 8466.
# E.g. your TPU IP address is 10.0.0.2 and you want to profile for 2 seconds
# .
tf.profiler.experimental.client.trace('grpc://10.0.0.2:8466',
                                      'gs://your_tb_dir', 2000)

Пример использования (несколько TPU):

# Send gRPC request to a TPU pod to collect a trace of your model on
# multiple TPUs. A profiler service has been started in all the TPU workers
# at the port 8466.
# E.g. your TPU IP addresses are 10.0.0.2, 10.0.0.3, 10.0.0.4, and you want
# to profile for 2 seconds.
tf.profiler.experimental.client.trace(
    'grpc://10.0.0.2:8466',
    'gs://your_tb_dir',
    2000,
    '10.0.0.2:8466,10.0.0.3:8466,10.0.0.4:8466')

Запустите TensorBoard и укажите тот же каталог logdir, что и для этого API.

# logdir can be gs://your_tb_dir as in the above examples.
$ tensorboard --logdir=/tmp/tb_log

Откройте браузер и перейдите к localhost:6006/#profile для просмотра результатов профилирования.

© 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/profiler/experimental/client/trace

Spec-Zone.ru

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