W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
ProfileOptionBuilder
定義在:tensorflow/python/profiler/option_builder.py。
用于Profiling API的Option Builder。
有關(guān)選項(xiàng)的教程,請參閱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.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.profiler.ProfileOptionBuilder(
tf.profiler.ProfileOptionBuilder.time_and_memory())
.with_displaying_options(show_name_regexes=['.*rnn.*'])
.build())
# Finally, profiling with the options:
_ = tf.profiler.profile(tf.get_default_graph(),
run_meta=run_meta,
cmd='scope',
options=opts)
__init__
__init__(options=None)
構(gòu)造函數(shù)。
參數(shù):
account_displayed_op_only
account_displayed_op_only(is_true)
是否僅考慮顯示的profiler節(jié)點(diǎn)的統(tǒng)計信息。
參數(shù):
返回:
self
build
build()
構(gòu)建profiling選項(xiàng)。
返回:
profiling選項(xiàng)的詞典。
float_operation
@staticmethod
float_operation()
用于配置float操作的選項(xiàng)。
有關(guān)計算float操作的注意事項(xiàng),請參閱https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/profile_model_architecture.md。
返回:
profiling選項(xiàng)的詞典。
order_by
order_by(attribute)
根據(jù)屬性對顯示的profiler節(jié)點(diǎn)進(jìn)行排序。
支持的屬性包括micros,bytes,occurrence,params等。參考https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/options.md
參數(shù):
返回:
self
select
select(attributes)
選擇要顯示的屬性。
有關(guān)支持的屬性,請參閱https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/options.md。
參數(shù):
返回:
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
)
顯示操作時間和內(nèi)存消耗。
參數(shù):
返回:
profiling選項(xiàng)的詞典。
trainable_variables_parameter
@staticmethod
trainable_variables_parameter()
用于配置可訓(xùn)練變量參數(shù)的選項(xiàng)。
通常與“scope”視圖一起使用。
返回:
profiling選項(xiàng)的詞典。
with_accounted_types
with_accounted_types(account_type_regexes)
根據(jù)節(jié)點(diǎn)類型有選擇地計數(shù)統(tǒng)計信息。
這里,'types'表示profiler節(jié)點(diǎn)的屬性。默認(rèn)情況下,profiler將設(shè)備名稱(例如:/job:xx/.../device:GPU:0)和操作類型(例如:MatMul)視為profiler節(jié)點(diǎn)的屬性。用戶還可以通過OpLogProto proto將自定義的“類型”關(guān)聯(lián)到profiler節(jié)點(diǎn)。
例如,用戶可以使用account_type_regexes=['.*gpu:0.*']選擇放置在gpu:0上的profiler節(jié)點(diǎn):
如果節(jié)點(diǎn)的屬性都不匹配指定的正則表達(dá)式,則不顯示或計算節(jié)點(diǎn)。
參數(shù):
返回:
self
with_empty_output
with_empty_output()
不要生成副作用輸出。
with_file_output
with_file_output(outfile)
將結(jié)果打印到文件。
with_max_depth
with_max_depth(max_depth)
設(shè)置顯示的最大深度。
深度取決于profiling視圖。對于“scope”視圖,它是名稱范圍層次結(jié)構(gòu)(樹)的深度,對于“op”視圖,它是操作類型(列表)的數(shù)量等。
參數(shù):
返回:
self
with_min_execution_time
with_min_execution_time(
min_micros=0,
min_accelerator_micros=0,
min_cpu_micros=0
)
只顯示消耗不少于“min_micros”的profiler節(jié)點(diǎn)。
參數(shù):
self
with_min_float_operations
with_min_float_operations(min_float_ops)
只顯示消耗不少于“min_float_ops”的profiler節(jié)點(diǎn)。
有關(guān)計算float操作的注意事項(xiàng),請參閱https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler/g3doc/profile_model_architecture.md。
參數(shù):
返回:
self
with_min_memory
with_min_memory(
min_bytes=0,
min_peak_bytes=0,
min_residual_bytes=0,
min_output_bytes=0
)
僅顯示消耗不少于'min_bytes'的profiler節(jié)點(diǎn)。
參數(shù):
返回:
self
with_min_occurrence
with_min_occurrence(min_occurrence)
僅顯示包含不少于“min_occurrence”圖節(jié)點(diǎn)的profiler節(jié)點(diǎn)。
“node”表示profiler輸出節(jié)點(diǎn),其可以是python線(代碼視圖),操作類型(op視圖)或圖形節(jié)點(diǎn)(graph/scope視圖)。python行包括由該行創(chuàng)建的所有圖形節(jié)點(diǎn),而操作類型包括該類型的所有圖形節(jié)點(diǎn)。
參數(shù):
返回:
self
with_min_parameters
with_min_parameters(min_params)
僅顯示不超過'min_params'參數(shù)的profiler節(jié)點(diǎn)。
'Parameters'通常是指TensorFlow變量的權(quán)重。它反映了模型的“capacity”。
參數(shù):
返回:
self
with_node_names
with_node_names(
start_name_regexes=None,
show_name_regexes=None,
hide_name_regexes=None,
trim_name_regexes=None
)
用于選擇要顯示的profiler節(jié)點(diǎn)的正則表達(dá)式。
在評估'with_accounted_types'之后,'with_node_names'的計算方法如下:
對于profile數(shù)據(jù)結(jié)構(gòu),profile首先找到與“start_name_regexes”匹配的profile節(jié)點(diǎn),并從那里開始顯示profile節(jié)點(diǎn)。然后,如果節(jié)點(diǎn)與“show_name_regexes”匹配且與“hide_name_regexes”不匹配,則會顯示該節(jié)點(diǎn)。如果節(jié)點(diǎn)與'trim_name_regexes'匹配,則profile將停止進(jìn)一步搜索該分支。
參數(shù):
返回:
self
with_pprof_output
with_pprof_output(pprof_file)
生成pprof配置文件gzip文件。
使用pprof文件:
pprof -png --nodecount = 100 --sample_index = 1
參數(shù):
返回:
self
with_stdout_output
with_stdout_output()
將結(jié)果打印到stdout。
with_step
with_step(step)
用于profiling的配置文件步驟。
這里的“step”是指Profiler.add_step() API 定義的步驟。
參數(shù):
返回:
self
with_timeline_output
with_timeline_output(timeline_file)
生成時間軸json文件。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: