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