在张量流中初始化大量变量需要很长时间

时间:2017-09-06 16:41:29

标签: tensorflow distributed variable-initialization

我有大量需要初始化的变量(2000)。 Tensorflow需要很长时间来初始化这些变量,这对我来说是一个阻碍。我在分布式模式下运行tf(图表之间。

with tf.variable_scope("f_counts"):
    per_ps_features = [] #A List of list
    for node in xrange(num_workers):
        with tf.device("/job:ps/task:{}".format(node % num_ps)):
            f = []  #List of features per parameter server
            for ps_node in xrange(num_workers):
                f.append(tf.get_variable(initializer=tf.constant([], dtype=tf.string), dtype=tf.string, validate_shape=False, trainable=False, name='ps_'+str(node)+'features_'+str(ps_node)))  # unique features per node                    
            per_ps_features.append(f)

如您所见,每个PS都有一个与PS服务器数量相对应的变量。这使得以下非常缓慢(有时仅创建会话一小时)

with tf.train.MonitoredTrainingSession(master=server.target, is_chief= is_chief, config=tf.ConfigProto(log_device_placement=False)) as session: 

num_workers = 200 ??

时是否有解决方法或替代方案

0 个答案:

没有答案