为什么每个变量有两个参数?

2024-09-24 06:34:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在训练一个RNN,后面是几个完全连接的层。我试图看到每个内核的价值。但是,我不理解“优化器丢失/”部分。对于每个变量名,都有两个值:“OptimizeLoss/id\u classifyer/dense/kernel/RMSProp:0”和“OptimizeLoss/id\u classifyer/dense/kernel/RMSProp\u 1:0”。有人能解释为什么同一个变量有两个实例吗(为清晰起见,请参阅所附图片。) 提前谢谢

def classifier():
    with tf.variable_scope('id_classifyer', reuse=tf.AUTO_REUSE):
        self.id_logits = self.dense_layer(self.combined_feats, units=64, use_bias=True, activation=tf.nn.relu)        
        self.id_logits = self.dense_layer(self.id_logits, units=self.out_units, use_bias=True, activation=None) 
        self.id_scores = tf.nn.softmax(self.id_logits, name='softmax_id_scores') 

self.id_loss = tf.losses.softmax_cross_entropy(self.labels, self.id_logits, scope='softmax_id_loss')

优化器的一部分如下所示:

def optimizer()
    optimizer = tf.train.RMSPropOptimizer(self.adp_lr, name='RMSProp')
    self.train_op=tf.contrib.layers.optimize_loss(loss=self.id_loss,global_step=self.global_step, learning_rate=None,optimizer=optimizer, clip_gradients=config.grad_clip, learning_rate_decay_fn=None) 

Tags: selfnoneidtfdefkerneldenseoptimizer