3

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

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吗?

4

0 回答 0