损失函数Center Loss 代码解析
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 代码解析相关推荐
- 【对比学习】CUT模型论文解读与NCE loss代码解析
标题:Contrastive Learning for Unpaired Image-to-Image Translation(基于对比学习的非配对图像转换) 作者:Taesung Park, Ale ...
- loss盘点: asl loss (Asymmetric Loss) 代码解析详细版
1. BCE公式部分 可以简单浏览下这篇博客的文章: https://blog.csdn.net/qq_14845119/article/details/114121003 这是多分类 经典 BCEL ...
- Center Loss的Pytorch实现
Center Loss的Pytorch实现 开始 结果 在自己的项目中使用中心损失函数 Center Loss的Pytorch实现: Wen et al. A Discriminative Featu ...
- facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数
我们来解读一下,中心损失,再来看代码. 链接:https://www.cnblogs.com/carlber/p/10811396.html 我们的重点是分析代码,所以定义部分,大家详情参见上面的博客 ...
- Generalized Focal Loss 原理与代码解析
Paper:Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Det ...
- CornerNet代码解析——损失函数
CornerNet代码解析--损失函数 文章目录 CornerNet代码解析--损失函数 前言 总体损失 1.Heatmap的损失 2.Embedding的损失 3.Offset的损失 前言 今天要解 ...
- CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略
CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...
- 深度学习中的损失函数总结以及Center Loss函数笔记
北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文 ...
- circle loss代码实现_CenterNet之loss计算代码解析
[GiantPandaCV导语] 本文主要讲解CenterNet的loss,由偏置部分(reg loss).热图部分(heatmap loss).宽高(wh loss)部分三部分loss组成,附代码实 ...
最新文章
- 12,缓冲运动。匀速运动停止条件
- leetcode 41. First Missing Positive
- C#调用C/C++ DLL 参数传递和回调函数的总结
- hdu4932 小贪心
- Spring 自定义注解玩法大全,从入门到…
- c++ 如何判断无效指针_如果链表中有环,我们应该如何判断?
- Python hash、xml、configparser、sheve、shutil模块讲解 以及 面向对象初识
- 关于MOSS列表库新建列表项前的!New标识
- 三星5nm产品开发进度出问题,高通紧急向台积电求援
- AGC 019F.Yes or No(思路 组合)
- AD元件库和封装库转换成KiCAD库方法
- 计算机视觉的测试数据集,自动驾驶数据集整理
- 用html编写古诗词欣赏,品析古诗词画面描写之技巧
- 生鲜APP软件功能开发
- 安卓平台有哪些好的时间管理软件
- 里程碑!美国航天局NASA耗资高达百亿美元,“终极太空望远镜”拍到了什么?| 美通社头条...
- 原创科幻短篇《Bug》
- oracle RAC 集群无法启动
- 小白友好——C++基于EeayX简单开发的豪华版贪吃蛇[单人模式+双蛇对战+闯关模式(地图跳转)+排行榜+音乐]
- 华为云服务器默认密码怎么修改,如何修改云服务器登陆密码
热门文章
- ubuntu看linux网卡配置,Ubuntu16.04网卡配置
- 计算机窗口闪屏,热点:电脑显示器闪屏(电脑屏幕闪烁的解决方法)
- Zbrush鳞片生物建模制作教程
- poj1088 滑雪 记忆化搜索
- “学生宿舍管理系统”主要内容及特点
- ymodem android,【安卓相关】蓝牙基于Ymodem协议发送bin文件,对硬件设备进行升级。...
- 武汉区块链软件技术公司:区块链发展已然势不可挡,触手可及的地步
- 拉曼光谱与红外光谱的关系
- Twitter Snowflake 主键生成
- 【直播回顾】2021MAXP 公开课 3:云原生应用与快速开发