TensorFlow实现center loss
来源:互联网 发布:京东店铺销量数据 编辑:程序博客网 时间:2024/05/21 07:49
TensorFlow实现center loss:Center loss是ECCV2016中一篇论文提出来的概念,主要思想就是在softmax loss基础上额外加入一个正则项,让网络中每一类样本的特征向量都能够尽量聚在一起。
具体的原理推导等请参考论文,论文作者放出了Caffe实现,网上还能找到mxnet的实现,这里我放出一个TensorFlow版的实现及详细注释,代码很短,如下:
def get_center_loss(features, labels, alpha, num_classes):
# alpha:中心的更新比例
# 获取特征长度
len_features = features.get_shape()[
1
]
# 建立一个变量,存储每一类的中心,不训练
9
centers = tf.get_variable(
'centers'
, [num_classes, len_features], dtype=tf.float32,
initializer=tf.constant_initializer(
0
), trainable=False)
# 将特征reshape成一维
labels = tf.reshape(labels, [-
1
])
# 获取当前batch每个样本对应的中心
centers_batch = tf.gather(centers, labels)
# 计算center loss的数值
loss = tf.nn.l2_loss(features - centers_batch)
# 以下为更新中心的步骤
diff = centers_batch - features
# 获取一个batch中同一样本出现的次数,这里需要理解论文中的更新公式
unique_label, unique_idx, unique_count = tf.unique_with_counts(labels)
appear_times = tf.gather(unique_count, unique_idx)
appear_times = tf.reshape(appear_times, [-
1
,
1
])
diff = diff / tf.cast((
1
+ appear_times), tf.float32)
diff = alpha * diff
# 更新中心
centers = tf.scatter_sub(centers, labels, diff)
return
loss, centers
center loss代码注释(caffe新添加层)
http://blog.csdn.net/liyuan123zhouhui/article/details/60139981
阅读全文
0 0
- TensorFlow实现center loss
- TensorFlow实现center loss
- tensorflow center loss代码注释
- Center Loss层
- caffe 训练center loss 太大
- 对Center loss的理解
- tensorflow计算Loss
- 损失函数改进之Center Loss
- tensorflow从变量-loss-optimizer
- center loss代码注释(caffe新添加层)
- ECCV16 Center Loss及其在人脸识别中的应用
- 采用center loss的caffe 人脸识别
- tensorflow的cross_entropy(loss)=nan问题
- TensorFlow损失函数(loss function)
- tensorflow 学习随记--最优化loss
- tensorflow 运行过程中loss出现 NaN
- TensorFlow损失函数(loss function) 2017-08-14 11:32 125人阅读 评论(0) 收藏 举报 分类: 深度学习及TensorFlow实现(10) 版权声明:
- triplet loss (原理 + 实现)
- powerdesigner 16.5破解文件(pdflm16.dll)
- PAT(乙级)1015
- ansible 中 个性化 ssh 端口
- CSDN-markdown编辑器语法
- 抓取微信公众号文章,亲测有效
- TensorFlow实现center loss
- Eclipse快捷键-----原来Eclipse完全不许用鼠标的
- 判断php变量是否为空/已定义
- Android 进阶笔记。
- vijos1023 Victoria的舞会3
- solr初识
- java多线程详解(并发,并行,同步)
- 云笔记项目 Unit04
- LINUX环境下Nginx与php-fpm安装部署