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' это глубина иерархии имен 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()
Выводит результат в stdout.
with_step
with_step(
step
)
Номер шага профилирования для использования.
Здесь «шаг» относится к шагу, определенному API Profiler.add_step().
| Аргументы | |
|---|---|
step | При наличии нескольких шагов профилирования, выбирает, какой шаг использовать. Если -1, используется среднее значение по всем доступным шагам. |
| Возвращает | |
|---|---|
| self |
with_timeline_output
with_timeline_output(
timeline_file
)
Генерирует файл timeline в формате 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.3/api_docs/python/tf/compat/v1/profiler/ProfileOptionBuilder