我有大量需要初始化的变量(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
??