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 | Показывать узлы профилировщика, использующие не менее этого количества байтов в пике (высокая отметка). Для узлов профилировщика, состоящих из нескольких узлов графа, суммируются пиковые значения peak_bytes узлов графа. |
min_residual_bytes | Показывать узлы профилировщика, у которых после завершения Compute() не освобождается не менее этого количества байтов. Для узлов профилировщика, состоящих из нескольких узлов графа, суммируются значения residual_bytes узлов графа. |
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/r2.4/api_docs/python/tf/compat/v1/profiler/ProfileOptionBuilder