W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
定義在:tensorflow/python/estimator/run_config.py.
該類指定Estimator運行的配置.
該global_id_in_cluster屬性表示訓(xùn)練集群中的全局標(biāo)識.
訓(xùn)練集群中的所有全局ID都是從遞增的連續(xù)整數(shù)序列中分配的,第一個ID是0.
注意:任務(wù)ID(屬性字段task_id)正在跟蹤具有SAME任務(wù)類型的所有節(jié)點中的節(jié)點索引.例如,給定集群定義如下:
cluster = {'chief': ['host0:2222'],
'ps': ['host1:2222', 'host2:2222'],
'worker': ['host3:2222', 'host4:2222', 'host5:2222']}
具有任務(wù)類型worker的節(jié)點可以具有id 0,1,2.具有任務(wù)類型ps的節(jié)點可以具有id,0,1.因此,task_id不是唯一的,但pair(task_type,task_id)可以唯一確定集群中的節(jié)點.
全局ID即該字段正在跟蹤集群中所有節(jié)點之間的節(jié)點索引.它是唯一分配的.例如,對于上面給出的集群規(guī)范,全局id分配為:
task_type | task_id | global_id
--------------------------------
chief | 0 | 0
worker | 0 | 1
worker | 1 | 2
worker | 2 | 3
ps | 0 | 4
ps | 1 | 5
返回:
一個整數(shù)ID.
返回定義的平臺(在TF_CONFIG中)服務(wù)字典.
__init__(
model_dir=None,
tf_random_seed=None,
save_summary_steps=100,
save_checkpoints_steps=_USE_DEFAULT,
save_checkpoints_secs=_USE_DEFAULT,
session_config=None,
keep_checkpoint_max=5,
keep_checkpoint_every_n_hours=10000,
log_step_count_steps=100
)
該方法用于構(gòu)造一個RunConfig.
所有的分布式訓(xùn)練相關(guān)的屬性cluster_spec,is_chief,master,num_worker_replicas,num_ps_replicas,task_id和task_type都是基于 TF_CONFIG 環(huán)境變量設(shè)置的,如果相關(guān)的信息存在.TF_CONFIG環(huán)境變量是具有屬性JSON對象:cluster和task.
cluster是ClusterSpec的Python字典的JSON序列化版本,它將server_lib.py任務(wù)類型(通常是TaskType枚舉之一)映射到任務(wù)地址列表.
task有兩個屬性:type和index,其中,type可以是cluster中任何類型的任務(wù).當(dāng)TF_CONFIG包含所述信息,則在該類上設(shè)置以下屬性:
有一個帶有task_type作為計算器的特殊節(jié)點,它不是(訓(xùn)練)cluster_spec的一部分,它處理分布式計算作業(yè).
non-chief節(jié)點的例子:
cluster = {'chief': ['host0:2222'],
'ps': ['host1:2222', 'host2:2222'],
'worker': ['host3:2222', 'host4:2222', 'host5:2222']}
os.environ['TF_CONFIG'] = json.dumps(
{'cluster': cluster,
'task': {'type': 'worker', 'index': 1}})
config = ClusterConfig()
assert config.master == 'host4:2222'
assert config.task_id == 1
assert config.num_ps_replicas == 2
assert config.num_worker_replicas == 4
assert config.cluster_spec == server_lib.ClusterSpec(cluster)
assert config.task_type == 'worker'
assert not config.is_chief
chief的例子:
cluster = {'chief': ['host0:2222'],
'ps': ['host1:2222', 'host2:2222'],
'worker': ['host3:2222', 'host4:2222', 'host5:2222']}
os.environ['TF_CONFIG'] = json.dumps(
{'cluster': cluster,
'task': {'type': 'chief', 'index': 0}})
config = ClusterConfig()
assert config.master == 'host0:2222'
assert config.task_id == 0
assert config.num_ps_replicas == 2
assert config.num_worker_replicas == 4
assert config.cluster_spec == server_lib.ClusterSpec(cluster)
assert config.task_type == 'chief'
assert config.is_chief
evaluator節(jié)點示例(evaluator不是訓(xùn)練集群的一部分):
cluster = {'chief': ['host0:2222'],
'ps': ['host1:2222', 'host2:2222'],
'worker': ['host3:2222', 'host4:2222', 'host5:2222']}
os.environ['TF_CONFIG'] = json.dumps(
{'cluster': cluster,
'task': {'type': 'evaluator', 'index': 0}})
config = ClusterConfig()
assert config.master == ''
assert config.evaluator_master == ''
assert config.task_id == 0
assert config.num_ps_replicas == 0
assert config.num_worker_replicas == 0
assert config.cluster_spec == {}
assert config.task_type == 'evaluator'
assert not config.is_chief
注意:如果save_checkpoints_steps或save_checkpoints_secs已設(shè)置,keep_checkpoint_max可能需要進行相應(yīng)調(diào)整,特別是在分布式訓(xùn)練中.例如,設(shè)置save_checkpoints_secs為60而不進行調(diào)整keep_checkpoint_max(默認(rèn)為5)會導(dǎo)致檢查點在5分鐘后被垃圾收集的情況.在分布式訓(xùn)練中,計算作業(yè)異步啟動,可能無法加載或由于競爭條件而找到檢查點.
參數(shù):
可能引發(fā)的異常:
replace(**kwargs)
返回RunConfig的新實例替換指定屬性.
僅允許替換以下列表中的屬性:
另外,可以設(shè)置save_checkpoints_steps或者save_checkpoints_secs(不應(yīng)該同時設(shè)置).
參數(shù):
可能引發(fā)的異常:
返回值:
一個RunConfig的新的實例.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: