<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[herr_kun的博客]]></title><description><![CDATA[小硕一枚，热爱生活，热爱交友，童叟无欺]]></description><link>https://blog.youkuaiyun.com/herr_kun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; herr_kun]]></copyright><item><title><![CDATA[KS的计算和理解]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/118763466</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/118763466</guid><author>herr_kun</author><pubDate>Thu, 15 Jul 2021 16:57:35 +0800</pubDate><description><![CDATA[ks 的计算很多时候能帮助我们更好的理解 该指标的深层次含义：
下图来自知乎 风控模型—区分度评估指标(KS)深入理解应用

上述计算过程中主要有两个点不是特别的清晰， cum_bad_rate 和 cum_good_rate
其中 cum_bad_rate 就是当前以及当前之前区间的累计的 bad 数量相加，除全部的 bad 样本数量，比如 (88+65) /342 = 44.74%, 相应的就是good的计算（在计算的时候我们是知道每个样本的true label的，所以召回，准确等四宫格里面的指标 都可]]></description><category></category></item><item><title><![CDATA[Leetcode 刷题 一点点心得]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/110533593</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/110533593</guid><author>herr_kun</author><pubDate>Thu, 03 Dec 2020 16:29:27 +0800</pubDate><description><![CDATA[常用到的几个 包
1、from collections import deque

python 中的 collections 模块
里面包含了很多较为高级的数据结构，比如 队列 哈希表等，可以在刷题的时候使用


队列的使用方法
初始化 a =deuqe()  or deque(list) ，pop()为弹出最右端（队尾），popleft为弹出队首元素（常用），len()，append()，

2、import heapq

最大/最小 堆的基础使用方法
初始化/添加：q = [xxxx]  heap.h]]></description><category></category></item><item><title><![CDATA[Keras模型中有趣的技巧]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/110058472</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/110058472</guid><author>herr_kun</author><pubDate>Thu, 26 Nov 2020 11:24:44 +0800</pubDate><description><![CDATA[Keras 在实际使用中除了常规的模型搭建和训练外，还有一些能加快开发效率的小技巧

1、K.function 在调试的时候特别方便，直接就可以获得某一层的输出了，像是函数方法一样，直接输入就是照片 array，输出就是对应的层的向量
2、Model（input, output）直接在原有模型的基础上定义新的模型，一般用于部署前的准备，改变模型的输出，或者改成多个输出
3、CSVLogger 可以在训练的时候记录每个 epoch 的 LR ACC loss等等，包括训练集和验证集的，在训练的时候就可以随时.]]></description><category></category></item><item><title><![CDATA[REID重识别的一些思考-项目/工程实现（四）]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/109989735</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/109989735</guid><author>herr_kun</author><pubDate>Mon, 23 Nov 2020 17:59:43 +0800</pubDate><description><![CDATA[REID目前是一个较为火热的研究热点，不管是在业界还是在学术界，在工业界实现项目的时候最大的问题就是如何快速设计一个baseline，并且是一个strong baseline，后续可在次基础上进行更改和优化。

由于不同的项目，不同的数据有各自的特点，所以这里只是说一种常见的baseline，不一定对所有的项目都是最好的，只是说优化潜力较大。
该方案来自 paper: 《 A Strong Baseline and Batch Normalization Neck 》
该篇paper虽然是一个学术pape.]]></description><category></category></item><item><title><![CDATA[大数处理问题汇总]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/109160061</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/109160061</guid><author>herr_kun</author><pubDate>Mon, 19 Oct 2020 15:45:10 +0800</pubDate><description><![CDATA[1、找出中位数
思想：  划分区间，遍历数组将对应的数据放在对应的桶中，并统计每个桶中的元素数量，只要两次读取全部的数据就可以
重点/细节： （1）、两次读取数据，第一次划分区间划分的比较细，第二次划分就可以粗一点
划分区间的思想另外一个应用：找出最大的重复的URL\IP\WORLD，首先就是进行一个映射hash（因为对字符无法进行大小的划分，数字最好）,然后进行大区间的划分，再划分更小的区间。
（2）、对数据的大小以及内存的计算（1G=10^9byte   1亿=10^8），具体的计算可以看这个，里面还有]]></description><category></category></item><item><title><![CDATA[center loss的完全理解以及实现]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107668745</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107668745</guid><author>herr_kun</author><pubDate>Wed, 29 Jul 2020 16:29:38 +0800</pubDate><description><![CDATA[最近项目中需要 center loss 提升模型的效果，但是  center loss  的实现就有点不确定，看了很多的博客，基本都是臆测，还是看源码来的实在。

下面就大致说下 center loss  的实现：
1、原理：
原理这块大家可以参考别人的博客，或者paper，这里就简单叙述下：让得到全连接层向量距离对应类别中心的距离最小
2、问题
类别中心是动态变化的么？如何进行变化？
（1）是每个epoch结束后使用所有的样本重新聚类计算得到样本中心么？
（2）在每个batch内计算动态变化得到聚类中心.]]></description><category></category></item><item><title><![CDATA[keras  model.save() OSError: Unable to create file(error message = ‘‘)]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107608970</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107608970</guid><author>herr_kun</author><pubDate>Mon, 27 Jul 2020 19:07:54 +0800</pubDate><description><![CDATA[前言：最近再保存模型的时候，突然出现了上述的错误，一直以为时模型的问题，用了最简单的load，然后save的方式还是出错，最后发现是包依赖的问题

很大的可能是 h5py  keras的版本不一致的问题
修改之前（出错） h5py==2.10
修改之后的可行版本  h5py==2.7.1

...]]></description><category></category></item><item><title><![CDATA[A Strong Baseline and Batch Normalization Neck for Deep Person Re-identification REID文章解读]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107469985</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107469985</guid><author>herr_kun</author><pubDate>Mon, 20 Jul 2020 19:23:07 +0800</pubDate><description><![CDATA[文章解读：
这两篇文章  A Strong Baseline and Batch Normalization Neck for Deep Person Re-identification     Bag of Tricks and A Strong Baseline for Deep Person Re-identification 主体思想是一样的，但是区别在于第一篇文章更为全面，而且还分析backbone改动时的准确率的变化等，第二篇文章里面多的就是一些baseline具体训练策略和数据预处理
A St]]></description><category></category></item><item><title><![CDATA[REID重识别的一些思考-转载 MAP 的计算（三补充）]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107466580</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107466580</guid><author>herr_kun</author><pubDate>Mon, 20 Jul 2020 18:07:15 +0800</pubDate><description><![CDATA[ReIDReID指Re-identification，常翻译为重识别。ReID任务本身分类很多，本文只讨论基于图片的ReID任务中single-gallery-shot这一最简单的情况。重识别任务可以描述如下：给定一个Gallery集合GGG，包含有NNN张图片，分属MMM个ID(identity)。给定一张未知ID的图片做query(或者叫probe), 计算出下式的结果：max(Similarity(query,gi)),i∈1,2,3,...,N,gi∈Gmax(Similarity(query, g]]></description><category></category></item><item><title><![CDATA[REID重识别的一些思考-MAP指标的计算详细（三）]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107387961</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107387961</guid><author>herr_kun</author><pubDate>Mon, 20 Jul 2020 18:06:26 +0800</pubDate><description><![CDATA[前言：网上搜索reid map的计算，会出现很多版本的计算方式，有很多中计算方式，但是这么多哪一个是正确的，看了这么多版本该信谁的？所以还是去Google找资料，看paper，下面是我的个人理解，希望能帮到你

MAP的计算在目标检测中和图像检索中稍有不同
首先说一下 REID的评价标准，常见的有 top-1 top-5 top-10 CMC MAP评价指标，那么为什么要有这么多的评价指标，都是干嘛的，简单来说top-n的指标大家都知道是干嘛的，但是这个指标不能很好的评价模型的好坏，所以这里就提出了另外的.]]></description><category></category></item><item><title><![CDATA[open-set recognition(OSR)开集识别的一些思考(四)]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107361104</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107361104</guid><author>herr_kun</author><pubDate>Wed, 15 Jul 2020 15:06:10 +0800</pubDate><description><![CDATA[前言：目前基于CNN方式的开集识别的方案最为经典的要数openmax方法，但是目前所能查到的资料对openmax解读的资料实在是太少，所以这里通过对openmax的实现过程进行讲解以达到理解的目的

下述的观点和叙述来自个人理解和对论文的解读-Towards Open Set Deep Networks
 softmax是分类网络中最常见的最后一层的激活函数，用于概率值的生成，但是之前的文章说到过因为softmax的特性，导致不太适用于开集识别，所以这篇文章中提到了openmax，其可以认为是softma.]]></description><category></category></item><item><title><![CDATA[open-set recognition(OSR)开集识别的一些思考(三)]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107359631</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107359631</guid><author>herr_kun</author><pubDate>Wed, 15 Jul 2020 14:15:10 +0800</pubDate><description><![CDATA[前言：在之前的博客中提到了开集识别的一些方案，主线是基于DNN方式，但是基于ML方式的解决方案有很多是很经典的，所以这里介绍下基于ML的方式

基于ML的方式
 SVM based  （待展开）
 Sparse Representation based  （待展开）
 Distance based  （待展开）
 Margin Distribution based  （待展开）
…

...]]></description><category></category></item><item><title><![CDATA[open-set recognition(OSR)开集识别的一些思考(二)]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107355620</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107355620</guid><author>herr_kun</author><pubDate>Wed, 15 Jul 2020 11:31:32 +0800</pubDate><description><![CDATA[前言：在开集识别的学习中，也是进行的一步步的摸索，一开始发现模型上线后变现不是很好，后来找到原因就是因为线上的图像太复杂了，没有开集识别的模型是不可靠的，所以就进行了开集识别，接下来记录下学习的记录供大家一起学习，也供自己后续查阅

1、开集识别学习路径
 开始根据自己的遇到的情况进行查询，发现开放长尾识别问题中的开放问题就是目前自己遇到的问题，下面这张图很清晰的展示常见任务的划分标准，后续查询到了自己遇到的问题可以更为具体的归属为开集识别的问题，所以后续一直查询开集识别的一些问题，Google Yout.]]></description><category></category></item><item><title><![CDATA[open-set recognition(OSR)开集识别的一些思考(一)]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/107354501</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/107354501</guid><author>herr_kun</author><pubDate>Wed, 15 Jul 2020 10:32:13 +0800</pubDate><description><![CDATA[开集识别是一个在现实世界中很常见的一个问题，但是这个问题只有你在真正实施项目的时候才会遇到，使用公开数据集是不会遇到这个问题的。
当你看到这篇文章的时候就默认你大致了解开集识别是什么了
下面就是干货了

开集识别 open-set recognition (OSR)
1、什么是开集识别：
1) 什么是闭集识别：
 闭集识别：训练集中的类别和测试集中的类别是一致的，最常见的就是使用开放数据集进行训练，所有数据集中的图像的类别都是已知的，没有未知种类的图像。
2) 所谓的开集识别
 白话说就是 在一个开放的数.]]></description><category></category></item><item><title><![CDATA[原理分析-CAM模型可视化（可解释）]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/106997646</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/106997646</guid><author>herr_kun</author><pubDate>Sun, 28 Jun 2020 15:44:58 +0800</pubDate><description><![CDATA[&gt; 前言：模型在训练的时候，你不知道模型到底学到了什么，就像是你教一个孩子学习东西，最终你给一两个示例，孩子分对了，但是孩子真的学习到你想要的区分特征了么，也就是说 get 到你的点了么？模型可视化就是做的这件事情
模型有很多的可视化方案：
直接可视化：最容易被想到的一种方式就是对特征图进行可视化，想法是对的，直接对 feature map 进行粗暴的 resize, 或者更为精细点的操作是进行反卷积，将 feature map 放大至和原图一样的大小，但是这样智能算是 特征图的可视化，并非模型的可视]]></description><category></category></item><item><title><![CDATA[semi-triplet loss在线难分样本选取深入理解]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/106938293</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/106938293</guid><author>herr_kun</author><pubDate>Wed, 24 Jun 2020 10:37:13 +0800</pubDate><description><![CDATA[&gt; 前言：在做REID任务的时候经常会用到triplet loss，后续我们常常会进行模型的优化，其中就包括难分数据的挖掘，也就是让模型更加关注难分样本。
两种方式去实现：
1、离线的方式，就是在挑选样本的时候进行，一种是在线的方式，其本质上就是在训练的时候进行难分样本的挑选，离线的方式更好实现一些，但是造成的后果就是不方便，每一个epoch结束时就要单独就行计算
2、在线的方式直接就在训练的过程中就进行处理了，所以现在大家都更青睐在线的训练方式
使用trilet loss进行模型的搭建和数据的组织很]]></description><category></category></item><item><title><![CDATA[REID重识别的一些思考-REID场景介绍-初探（一）]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/106927096</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/106927096</guid><author>herr_kun</author><pubDate>Tue, 23 Jun 2020 19:26:36 +0800</pubDate><description><![CDATA[前言：该博客较为适合刚开始从事REID研究的同学，从头介绍了什么是REID，REID的应用价值是什么，并且介绍了一个Baseline，通过这篇博客你应该对REID有了一个大致的了解，避免了很多的弯路。

1、什么是REID？对于行人和车辆重识别可能称之为跨境重识别更容易理解一些，即在不同的镜头下，识别同一个个体，实现某一个个体的再次识别。听起来像是多分类，但是其本质是检索，而不是分类，后续会提到他们之间的区别。

2、REID的应用之一就是进行人轨迹的追踪和串联，比如在某个区域通过不同摄像头对同一个人的识.]]></description><category></category></item><item><title><![CDATA[keras load_model 加载模型出现的错误]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/106918014</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/106918014</guid><author>herr_kun</author><pubDate>Tue, 23 Jun 2020 10:54:41 +0800</pubDate><description><![CDATA[Keras在load_model 时，如果模型中含有自定义Layer或者损失函数的时候会报错
先看下load_model 的函数定义：

法一：利用 custom_objects 参数
#假设模型包含一个 xxxxLayer 自定义层或者 xxxxloss自定义loss
from keras.models import load_model

model = load_model('./model.h5', custom_objects={'xxxxLayer ': xxxxLayer })

法二: 利用]]></description><category></category></item><item><title><![CDATA[MAP在目标检测和图像检索中的计算（详细）]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/106902443</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/106902443</guid><author>herr_kun</author><pubDate>Mon, 22 Jun 2020 15:56:19 +0800</pubDate><description><![CDATA[前言：该博客没有进行IOU Precision Recall等指标的计算讲解，默认这些基本知识已经掌握，这里只对 map 中比较难懂且和其他博客中存在歧义的部分进行讲解。

目标检测中的 map 计算：
举个栗子：
Image 1：预测出了5个框（在一定的阈值下，且经过了NMS等处理），真实的标注信息只有三个框（也就是只能有3个correct 框），将5个预测框通过置信度进行排序，然后分别从上至下计算 precision  和  recall ，得到这些值就可以绘制 P-R 曲线了，计算面积就是最终的AP.]]></description><category></category></item><item><title><![CDATA[model checkpoint保存模型出错问题分析]]></title><link>https://blog.youkuaiyun.com/herr_kun/article/details/106855958</link><guid>https://blog.youkuaiyun.com/herr_kun/article/details/106855958</guid><author>herr_kun</author><pubDate>Fri, 19 Jun 2020 14:47:39 +0800</pubDate><description><![CDATA[问题描述：
model在训练的时候不断调用 checkpoint 进行模型的报错，但是在调用的时候回报错：TypeError: No conversion path for dtype: dtype(’&lt;U49’)，当设置只保存模型权重的时候又会报错：RuntimeError: Unable to create link (name already exists)，综合应该是H5文件读写的问题
问题分析：
针对只保存模型权重时的报错：RuntimeError: Unable to create lin]]></description><category></category></item></channel></rss>