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
)
Сортировать отображаемые узлы профилировщика по атрибуту.
Поддерживаемые атрибуты включают микросекунды, байты, количество, параметры и т. д. 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 | Отображать только узлы профилировщика с временем выполнения не менее указанного значения. Суммируются времена ускорителя и CPU. |
min_bytes | Отображать только узлы профилировщика, запросив размещение не менее указанного количества байтов. |
min_accelerator_micros | Отображать только узлы профилировщика, затрачивающие не менее указанного времени на ускорителе (например, GPU). |
min_cpu_micros | Отображать только узлы профилировщика, затрачивающие не менее указанного времени на CPU. |
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
)
Селективное подсчет статистики на основе типов узлов.
Здесь «типы» — это свойства узлов профилировщика. Профилировщик по умолчанию рассматривает имя устройства (например, /job:xx/.../device:GPU:0) и тип операции (например, MatMul) как свойства узлов профилировщика. Пользователь также может ассоциировать настраиваемые «типы» с узлами профилировщика через протокол 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 | Отображать узлы профилировщика, использующие не менее этого количества байтов в пике (высокая отметка). Для узлов профилировщика, состоящих из нескольких узлов графа, суммируются максимальные значения peak_bytes узлов графа. |
min_residual_bytes | Отображать узлы профилировщика, у которых не менее этого количества байтов не освобождается после завершения Compute(). Для узлов профилировщика, состоящих из нескольких узлов графа, суммируются значения residual_bytes узлов графа. |
min_output_bytes | Отображать узлы профилировщика, у которых вывод не менее этого количества байтов. Вывод не обязательно выделяется этим узлом профилировщика. |
| Возвращаемое значение | |
|---|---|
| self |
with_min_occurrence
with_min_occurrence(
min_occurrence
)
Отображать только узлы профилировщика, содержащие не менее 'min_occurrence' узлов графа.
«Узел» означает узел вывода профилировщика, который может быть строкой Python (вид кода), типом операции (вид op) или узлом графа (вид графа/области). Строка 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
)
Создать файл timeline в формате 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/api_docs/python/tf/compat/v1/profiler/ProfileOptionBuilder