Spec-Zone.ru › TensorFlow

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

Spec-Zone.ru

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