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 | именованный кортеж 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/api_docs/python/tf/profiler/experimental/client/trace