Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.profiler.ProfileOptionBuilder

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

tf.compat.v1.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
)

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

Поддерживаемые атрибуты включают micros, bytes, occurrence, params и т. д. 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

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 для временной шкалы.

© 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/compat/v1/profiler/ProfileOptionBuilder

Spec-Zone.ru

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