Spec-Zone.ru › TensorFlow 1.15

tf.profiler.ProfileOptionBuilder

Построитель параметров для профилирования API.

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

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.profiler.ProfileOptionBuilder

tf.profiler.ProfileOptionBuilder(
    options=None
)

Для ознакомления с параметрами см. https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/options.md

# Users can use pre-built options:
opts = (
    tf.profiler.ProfileOptionBuilder.trainable_variables_parameter())

# Or, build your own options:
opts = (tf.compat.v1.profiler.ProfileOptionBuilder()
    .with_max_depth(10)
    .with_min_micros(1000)
    .select(['accelerator_micros'])
    .with_stdout_output()
    .build()

# Or customize the pre-built options:
opts = (tf.compat.v1.profiler.ProfileOptionBuilder(
    tf.profiler.ProfileOptionBuilder.time_and_memory())
    .with_displaying_options(show_name_regexes=['.*rnn.*'])
    .build())

# Finally, profiling with the options:
_ = tf.compat.v1.profiler.profile(tf.compat.v1.get_default_graph(),
                        run_meta=run_meta,
                        cmd='scope',
                        options=opts)
Аргументы
options Необязательный начальный словарь параметров для начала.

Методы

account_displayed_op_only

Просмотреть исходный код

account_displayed_op_only(
    is_true
)

Учитывать только статистику отображаемых узлов профилировщика.

Аргументы
is_true Если True, учитываются только статистические данные узлов, которые в конечном итоге отображаются в результатах. В противном случае статистика узла учитывается его родителями, если их типы соответствуют 'account_type_regexes', даже если узел скрыт в выводе, например, с помощью hide_name_regexes.
Возвращаемое значение
self

build

Просмотреть исходный код

build()

Создать параметр профилирования.

Возвращаемое значение
Словарь параметров профилирования.

float_operation

Просмотреть исходный код

@staticmethod
float_operation()

Параметры, используемые для профилирования операций с плавающей точкой.

См. https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/profile_model_architecture.md о нюансах вычисления операций с плавающей точкой.

Возвращаемое значение
Словарь параметров профилирования.

order_by

Просмотреть исходный код

order_by(
    attribute
)

Сортировать отображаемые узлы профилировщика по атрибуту.

Поддерживаемые атрибуты включают микросекунды, байты, количество появлений, параметры и т. д. https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/options.md

Аргументы
attribute Атрибут, которым обладает узел профилировщика.
Возвращаемое значение
self

select

Просмотреть исходный код

select(
    attributes
)

Выбрать атрибуты для отображения.

См. https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/options.md для поддержки атрибутов.

Аргументы
attributes Список атрибутов, которыми обладает узел профилировщика.
Возвращаемое значение
self

time_and_memory

Просмотреть исходный код

@staticmethod
time_and_memory(
    min_micros=1, min_bytes=1, min_accelerator_micros=0, min_cpu_micros=0,
    min_peak_bytes=0, min_residual_bytes=0, min_output_bytes=0
)

Показать время выполнения и потребление памяти операций.

Аргументы
min_micros Отображать только узлы профилировщика с временем выполнения не меньше этого значения. Суммирует время ускорителя и ЦП.
min_bytes Отображать только узлы профилировщика, запросившие выделение не менее этого количества байтов.
min_accelerator_micros Отображать только узлы профилировщика, потратившие не менее этого времени на ускоритель (например, на GPU).
min_cpu_micros Отображать только узлы профилировщика, потратившие не менее этого времени на ЦП.
min_peak_bytes Отображать только узлы профилировщика, использующие не менее этого количества байтов в пике (высокая отметка). Для узлов профилировщика, состоящих из нескольких узлов графа, суммирует максимальное потребление памяти узлов графа.
min_residual_bytes Отображать только узлы профилировщика, у которых после завершения Compute() не высвобождается не менее этого количества байтов. Для узлов профилировщика, состоящих из нескольких узлов графа, суммирует оставшееся потребление памяти узлов графа.
min_output_bytes Отображать только узлы профилировщика, имеющие не меньше этого количества байтов на выходе. Выходные данные необязательно выделены этим узлом профилировщика.
Возвращаемое значение
Словарь параметров профилирования.

trainable_variables_parameter

Просмотреть исходный код

@staticmethod
trainable_variables_parameter()

Параметры, используемые для профилирования параметров обучаемых переменных.

Обычно используется вместе с представлением 'scope'.

Возвращаемое значение
Словарь параметров профилирования.

with_accounted_types

Просмотреть исходный код

with_accounted_types(
    account_type_regexes
)

Селективное подсчёт статистики на основе типов узлов.

Здесь 'types' означает свойства узлов профилировщика. По умолчанию профилировщик учитывает имя устройства (например, /job:xx/.../device:GPU:0) и тип операции (например, MatMul) как свойства узлов профилировщика. Пользователь также может ассоциировать настраиваемые 'types' с узлами профилировщика через протокол OpLogProto.

Например, пользователь может выбрать узлы профилировщика, размещённые на gpu:0 с помощью: account_type_regexes=['.*gpu:0.*']

Если ни одно из свойств узла не соответствует указанным выражениям регулярных выражений, узел не отображается и не учитывается.

Аргументы
account_type_regexes Список выражений регулярных выражений, определяющих типы.
Возвращаемое значение
self.

with_empty_output

Просмотреть исходный код

with_empty_output()

Не генерировать побочные выводы.

with_file_output

Просмотреть исходный код

with_file_output(
    outfile
)

Вывести результат в файл.

with_max_depth

Просмотреть исходный код

with_max_depth(
    max_depth
)

Установить максимальную глубину отображения.

Глубина зависит от вида профилирования. Для представления 'scope' это глубина иерархии именованных областей (дерево), для представления 'op' это количество типов операций (список) и т.д.

Аргументы
max_depth Максимальная глубина отображаемой структуры данных.
Возвращаемое значение
self

with_min_execution_time

Просмотреть исходный код

with_min_execution_time(
    min_micros=0, min_accelerator_micros=0, min_cpu_micros=0
)

Отображать только узлы профилировщика, затратившие не меньше 'min_micros' времени.

Аргументы
min_micros Отображать только узлы профилировщика с временем выполнения не меньше этого значения. Суммирует время ускорителя и ЦП.
min_accelerator_micros Отображать только узлы профилировщика, потратившие не меньше этого времени на ускоритель (например, на GPU).
min_cpu_micros Отображать только узлы профилировщика, потратившие не меньше этого времени на ЦП.
Возвращаемое значение
self
END_OF_DOCUMENT_MARKER

with_min_float_operations

Просмотр исходного кода

with_min_float_operations(
    min_float_ops
)

Показывать только узлы профилировщика, потребляющие не менее 'min_float_ops'.

См. https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/profile_model_architecture.md о предосторожностях при расчете операций с плавающей точкой.

Аргументы
min_float_ops Показывать только узлы профилировщика с операциями с плавающей точкой не менее этого значения.
Возвращаемое значение
self

with_min_memory

Просмотр исходного кода

with_min_memory(
    min_bytes=0, min_peak_bytes=0, min_residual_bytes=0, min_output_bytes=0
)

Показывать только узлы профилировщика, потребляющие не менее 'min_bytes'.

Аргументы
min_bytes Показывать только узлы профилировщика, которые запрашивают выделение не менее этих байтов.
min_peak_bytes Показывать только узлы профилировщика, использующие не менее этого количества байтов в пике (максимальное значение). Для узлов профилировщика, состоящих из нескольких узлов графа, суммируются максимальные значения байтов узлов графа.
min_residual_bytes Показывать только узлы профилировщика, имеющие не менее этого количества байтов, не освобожденных после завершения Compute(). Для узлов профилировщика, состоящих из нескольких узлов графа, суммируются оставшиеся байты узлов графа.
min_output_bytes Показывать только узлы профилировщика, имеющие не менее этого количества байтов вывода. Вывод не обязательно выделяется этим узлом профилировщика.
Возвращаемое значение
self

with_min_occurrence

Просмотр исходного кода

with_min_occurrence(
    min_occurrence
)

Показывать только узлы профилировщика, содержащие не менее 'min_occurrence' узлов графа.

«Узел» означает узел вывода профилировщика, который может быть строкой Python (вид кода), типом операции (вид операции) или узлом графа (вид графа/области). Строка Python включает все узлы графа, созданные этой строкой, в то время как тип операции включает все узлы графа этого типа.

Аргументы
min_occurrence Показывать узлы, содержащие не менее этого значения.
Возвращаемое значение
self

with_min_parameters

Просмотр исходного кода

with_min_parameters(
    min_params
)

Показывать только узлы профилировщика, содержащие не менее 'min_params' параметров.

«Параметры» обычно относятся к весам переменных TensorFlow. Это отражает «емкость» моделей.

Аргументы
min_params Показывать узлы профилировщика, содержащие количество параметров не менее этого значения.
Возвращаемое значение
self

with_node_names

Просмотр исходного кода

with_node_names(
    start_name_regexes=None, show_name_regexes=None, hide_name_regexes=None,
    trim_name_regexes=None
)

Регулярные выражения для выбора узлов профилировщика для отображения.

После вычисления 'with_accounted_types', 'with_node_names' вычисляются следующим образом:

Для структуры данных профиля профилировщик сначала находит узлы профилировщика, соответствующие 'start_name_regexes', и начинает отображать узлы профилировщика оттуда. Затем, если узел соответствует 'show_name_regexes' и не соответствует 'hide_name_regexes', он отображается. Если узел соответствует 'trim_name_regexes', профилировщик прекращает дальнейший поиск по этому ответвлению.

Аргументы
start_name_regexes Список регулярных выражений имён узлов для начала отображения.
show_name_regexes Список регулярных выражений имён узлов для отображения.
hide_name_regexes Список регулярных выражений имён узлов, которые должны быть скрыты.
trim_name_regexes Список регулярных выражений имён узлов, где следует остановить поиск.
Возвращаемое значение
self

with_pprof_output

Просмотр исходного кода

with_pprof_output(
    pprof_file
)

Генерировать файл профиля pprof в формате gzip.

Для использования файла pprof:

pprof -png --nodecount=100 --sample_index=1

Аргументы
pprof_file Имя файла для вывода, обычно с расширением .pb.gz.
Возвращаемое значение
self.

with_stdout_output

Просмотр исходного кода

with_stdout_output()

Вывести результат в стандартный вывод.

with_step

Просмотр исходного кода

with_step(
    step
)

Какой шаг профилирования использовать.

Здесь 'шаг' относится к шагу, определенному API Profiler.add_step().

Аргументы
step При наличии нескольких шагов профилей, выбрать профиль какого шага использовать. Если -1, использовать среднее значение по всем доступным шагам.
Возвращаемое значение
self

with_timeline_output

Просмотр исходного кода

with_timeline_output(
    timeline_file
)

Сгенерировать файл трассировки в формате json.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/profiler/ProfileOptionBuilder

Spec-Zone.ru

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