center loss来自ECCV2016的一篇论文:A Discriminative Feature Learning Approach for Deep Face Recognition。 
论文链接:http://ydwen.github.io/papers/WenECCV16.pdf 
代码链接:https://github.com/davidsandberg/facenet

理论解析请参看 https://blog.csdn.net/u014380165/article/details/76946339

下面给出centerloss的计算公式以及更新公式

下面的代码是facenet作者利用tensorflow实现的centerloss代码

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)https://blog.csdn.net/u014380165/article/details/76946339"""nrof_features = features.get_shape()[1]#训练过程中,需要保存当前所有类中心的全连接预测特征centers, 每个batch的计算都要先读取已经保存的centerscenters = tf.get_variable('centers', [nrof_classes, nrof_features], dtype=tf.float32,initializer=tf.constant_initializer(0), trainable=False) label = tf.reshape(label, [-1])centers_batch = tf.gather(centers, label)#获取当前batch对应的类中心特征diff = (1 - alfa) * (centers_batch - features)#计算当前的类中心与特征的差异,用于Cj的的梯度更新,这里facenet的作者做了一个 1-alfa操作,比较奇怪,和原论文不同centers = tf.scatter_sub(centers, label, diff)#更新梯度Cj,对于上图中步骤6,tensorflow会将该变量centers保留下来,用于计算下一个batch的centerlossloss = tf.reduce_mean(tf.square(features - centers_batch))#计算当前的centerloss 对应于Lcreturn loss, centers

损失函数Center Loss 代码解析相关推荐

  1. 【对比学习】CUT模型论文解读与NCE loss代码解析

    标题:Contrastive Learning for Unpaired Image-to-Image Translation(基于对比学习的非配对图像转换) 作者:Taesung Park, Ale ...

  2. loss盘点: asl loss (Asymmetric Loss) 代码解析详细版

    1. BCE公式部分 可以简单浏览下这篇博客的文章: https://blog.csdn.net/qq_14845119/article/details/114121003 这是多分类 经典 BCEL ...

  3. Center Loss的Pytorch实现

    Center Loss的Pytorch实现 开始 结果 在自己的项目中使用中心损失函数 Center Loss的Pytorch实现: Wen et al. A Discriminative Featu ...

  4. facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数

    我们来解读一下,中心损失,再来看代码. 链接:https://www.cnblogs.com/carlber/p/10811396.html 我们的重点是分析代码,所以定义部分,大家详情参见上面的博客 ...

  5. Generalized Focal Loss 原理与代码解析

    Paper:Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Det ...

  6. CornerNet代码解析——损失函数

    CornerNet代码解析--损失函数 文章目录 CornerNet代码解析--损失函数 前言 总体损失 1.Heatmap的损失 2.Embedding的损失 3.Offset的损失 前言 今天要解 ...

  7. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略

    CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...

  8. 深度学习中的损失函数总结以及Center Loss函数笔记

    北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文                        ...

  9. circle loss代码实现_CenterNet之loss计算代码解析

    [GiantPandaCV导语] 本文主要讲解CenterNet的loss,由偏置部分(reg loss).热图部分(heatmap loss).宽高(wh loss)部分三部分loss组成,附代码实 ...

最新文章

  1. 12,缓冲运动。匀速运动停止条件
  2. leetcode 41. First Missing Positive
  3. C#调用C/C++ DLL 参数传递和回调函数的总结
  4. hdu4932 小贪心
  5. Spring 自定义注解玩法大全,从入门到…
  6. c++ 如何判断无效指针_如果链表中有环,我们应该如何判断?
  7. Python hash、xml、configparser、sheve、shutil模块讲解 以及 面向对象初识
  8. 关于MOSS列表库新建列表项前的!New标识
  9. 三星5nm产品开发进度出问题,高通紧急向台积电求援
  10. AGC 019F.Yes or No(思路 组合)
  11. AD元件库和封装库转换成KiCAD库方法
  12. 计算机视觉的测试数据集,自动驾驶数据集整理
  13. 用html编写古诗词欣赏,品析古诗词画面描写之技巧
  14. 生鲜APP软件功能开发
  15. 安卓平台有哪些好的时间管理软件
  16. 里程碑!美国航天局NASA耗资高达百亿美元,“终极太空望远镜”拍到了什么?| 美通社头条...
  17. 原创科幻短篇《Bug》
  18. oracle RAC 集群无法启动
  19. 小白友好——C++基于EeayX简单开发的豪华版贪吃蛇[单人模式+双蛇对战+闯关模式(地图跳转)+排行榜+音乐]
  20. 华为云服务器默认密码怎么修改,如何修改云服务器登陆密码

热门文章

  1. ubuntu看linux网卡配置,Ubuntu16.04网卡配置
  2. 计算机窗口闪屏,热点:电脑显示器闪屏(电脑屏幕闪烁的解决方法)
  3. Zbrush鳞片生物建模制作教程
  4. poj1088 滑雪 记忆化搜索
  5. “学生宿舍管理系统”主要内容及特点
  6. ymodem android,【安卓相关】蓝牙基于Ymodem协议发送bin文件,对硬件设备进行升级。...
  7. 武汉区块链软件技术公司:区块链发展已然势不可挡,触手可及的地步
  8. 拉曼光谱与红外光谱的关系
  9. Twitter Snowflake 主键生成
  10. 【直播回顾】2021MAXP 公开课 3:云原生应用与快速开发