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