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