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