tensorflow center loss代码注释

来源:互联网 发布:数据库系统的构成 编辑:程序博客网 时间:2024/04/30 15:39
def center_loss(features, label, alfa, nrof_classes):    """Center loss based on the paper "A Discriminative Feature Learning Approach for Deep Face Recognition"       (http://ydwen.github.io/papers/WenECCV16.pdf)    """    #获取特征向量长度    nrof_features = features.get_shape()[1]    #生成可以共享的变量centers,由于center loss在计算图中只存在于一个节点处,因此这个变量只使用一次    #不需要所谓的variable_scope,就可以实现每次共享?    centers = tf.get_variable('centers', [nrof_classes, nrof_features], dtype=tf.float32,        initializer=tf.constant_initializer(0), trainable=False)    label = tf.reshape(label, [-1])    #取出对应label下对应的center值,注意label里面的值可能会重复,因为一个标签下有可能会出现多个人    centers_batch = tf.gather(centers, label)    #求特征点到中心的距离并乘以一定的系数,alfa是center的更新速度,越大代表更新的越慢    diff = (1 - alfa) * (centers_batch - features)    #更新center,输出是将对应于label的centers减去对应的diff,如果同一个标签出现多次,那么就减去多次    centers = tf.scatter_sub(centers, label, diff)    #求center loss,这里是将l2_loss里面的值进行平方相加,再除以2,并没有进行开方    loss = tf.nn.l2_loss(features - centers_batch)    return loss, centers

1 1
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾照扣完12分后怎么办 驾照扣了60多分怎么办 驾照被扣了12分怎么办? c1驾照记满12分怎么办 不交钱不让验房怎么办 中考考号忘了怎么办 高考考生号忘了怎么办 1岁宝宝吞了硬币怎么办 小孩吞了5角硬币怎么办 10小孩吞了硬币怎么办 小孩吞了5毛硬币怎么办 小孩把硬币吞了怎么办 高三数学成绩差怎么办 没交社保的工龄怎么办 购置税证明丢了怎么办 车登记证书丢了怎么办 车辆登记书丢了怎么办 车贷分期还完了怎么办 住宅70年到期后怎么办 在外地扣了12分怎么办 英语6级证书丢了怎么办 孩子腺样体肥大鼻子堵塞怎么办 孩子初中成绩太差怎么办 交违章罚单丢了怎么办 违章缴费单丢了,怎么办 违章处理单掉了怎么办 驾驶证被扣9分后怎么办 车子违章扣50分怎么办 车子扣了12分怎么办 大学把档案丢了怎么办 学校把档案丢了怎么办 高考考了200多分怎么办 高考报名号忘了怎么办 中考只考500分怎么办 档案自提了之后怎么办 冬天衣服上的毛怎么办 四维预约不上怎么办 交了订金后悔了怎么办 信而富认证失败怎么办 南京市民卡坏了怎么办 南京市民卡断了怎么办