<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hobart]]></title><description><![CDATA[记录你的点点滴滴]]></description><link>https://blog.youkuaiyun.com/qq_35447659</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_35447659]]></copyright><item><title><![CDATA[linux 显卡驱动安装和cuda安装]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/116937067</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/116937067</guid><author>qq_35447659</author><pubDate>Mon, 17 May 2021 16:13:53 +0800</pubDate><description><![CDATA[1、安装系统插件


yum -y install gcc kernel-devel kernel-headers

2、禁止开源驱动


vim /usr/lib/modprobe.d/dist-blacklist.conf


添加blacklist nouveau
注释blacklist nvidiafb

3、重新建立文件


rm -rf /boot/initramfs-$(uname -r).img.bak
mv /boot/initramfs-$(uname -r).img /boot/ini]]></description><category></category></item><item><title><![CDATA[快速排序的经典实现]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/116227788</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/116227788</guid><author>qq_35447659</author><pubDate>Wed, 28 Apr 2021 10:21:25 +0800</pubDate><description><![CDATA[递归分治法的典型实现。每进行完一次分区操作，用基准值隔断前后的数据，前面的数据均比基准值小，后面的数据均比基准值大


# 分区操作
def partition(nums, left, right):
    pivot = nums[left]  # 基准值
    while left &lt; right:
        while left &lt; right and nums[right] &gt;= pivot:
            right -= 1
        nums[l..]]></description><category></category></item><item><title><![CDATA[iterm2连接远程服务器]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/115176036</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/115176036</guid><author>qq_35447659</author><pubDate>Wed, 24 Mar 2021 14:51:45 +0800</pubDate><description><![CDATA[本篇文章介绍使用iterm2，通过跳板机连接服务器的方法。其中iterm2默认已经安装并配置完成。

方法一：


cd ~/.ssh/
vim config



编辑以下内容到config.其中Host为自定义的名字；Hostname为IP地址；Port为端口号；User为用户名。具体例子如下所示


Host test_name
Hostname 127.0.0.1
Port 22
User root

执行以下命令后输入密码即可登录服务器


ssh test_name

方法二：


cd ~/.]]></description><category></category></item><item><title><![CDATA[浅读CV中的注意力机制(Non-local,SENet,CBAM )]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/115003011</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/115003011</guid><author>qq_35447659</author><pubDate>Fri, 19 Mar 2021 11:53:05 +0800</pubDate><description><![CDATA[1.Non-local Neural Networks

从Non-local Neural Networks 开始计算机视觉中使用attention开始火热，这是一种基于空间注意力机制的网络。

Non-local Neural Network主要解决的问题：

当图像中两个特征距离比较远时，浅层卷积无法覆盖全部特征，特征提取很难提取到完整的信息。

传统的解决方案：

传统CNN通过堆叠多个卷积模块来形成大感受野，使用大感受野来覆盖到全部的特征信息。这样做主要有三个缺点：

(1) 捕获距离远的特征，效]]></description><category></category></item><item><title><![CDATA[incremental few-shot learning论文阅读]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/108280789</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/108280789</guid><author>qq_35447659</author><pubDate>Fri, 28 Aug 2020 15:36:05 +0800</pubDate><description><![CDATA[incremental few-shot learning

论文的主要目的：在不使用原始训练数据的情况下，对新增加类别的少量数据进行训练以进行增量学习。

Related Work：

object detection
作者比较了一阶段和二阶段检测模型，并讲述了一般检测模型的不足。检测模型需要大量有标注的数据进行训练，当线上部署的模型需要新增类别时，模型的实用性和可延伸性不足的缺点暴露。作者基于CenterNet作为BackBone进行优化。

Few-shot learning
Few-shot lea]]></description><category></category></item><item><title><![CDATA[YOLO1-5的BackBone和Neck]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/108121631</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/108121631</guid><author>qq_35447659</author><pubDate>Thu, 20 Aug 2020 13:20:40 +0800</pubDate><description><![CDATA[YOLO1：



Backbone: GoogLeNet with no inception modules

Neck: None 
Head: YOLO [fc(1570)-&gt;7*7(5*2+20)]

YOLO2：



Backbone: darknet19
Neck: None 
Head: passthrough [conv-&gt;13*13*anchor*(5+20)]



7*7卷机使用3*3加1*1卷机替代。减少计算量小，防止过拟合;网络可以做的更深，更好的提取特征。
	使用.]]></description><category></category></item><item><title><![CDATA[YOLO1-YOLO5检测头的改进]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/108009531</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/108009531</guid><author>qq_35447659</author><pubDate>Fri, 14 Aug 2020 16:58:38 +0800</pubDate><description><![CDATA[YOLO1：

最后检测头7*7grid,每个点预测两个框(一个大框一个小框)，分类用one hot，如下图所示：



YOLO2:

7*7 grid 太小了，增大为13*13
	每个grid对应两个人为设计的anchor增加为5个统计得到的anchor（在voc2007和coco上都进行了统计，coco相比voc小框更多）
	每个anchor对应一个类别，13*13*(5*5+5*20)=422500 outputs
	损失函数gt:1 &gt;&gt; iou
YOLO3:

分为3个检测头分别检测]]></description><category></category></item><item><title><![CDATA[YOLOv5环境配置以及训练私人数据]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107991237</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107991237</guid><author>qq_35447659</author><pubDate>Thu, 13 Aug 2020 21:03:22 +0800</pubDate><description><![CDATA[Git地址：https://github.com/ultralytics/yolov5

 1.使用anaconda安装python3.8的环境


conda create -n yolo5 python=3.8

 #anaconda下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

 2.安装pytorch1.6 torchvision0.7


conda install pytorch==1.6 torchvis...]]></description><category></category></item><item><title><![CDATA[CIoU的成长之路]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107821952</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107821952</guid><author>qq_35447659</author><pubDate>Wed, 05 Aug 2020 18:22:18 +0800</pubDate><description><![CDATA[原始的IOU损失函数只要IOU不相交。损失函数不变





第一次升级,GIOU:不相交时，两个框的距离变化，loss不变，改进为GIoU loss.





第二次升级,DIOU:完全包含时，两个框的距离变化，loss不变，改进为DIoU loss.







第三次升级,CIOU:中心点重合但宽高比不同时， loss不变，改进为CIoU loss.





CIoU的惩罚项是在DIoU的惩罚项基础上加了一个影响因子a,v，这个因子把预测框长宽比拟合目标框的长宽比考虑进去。其中a是用于做...]]></description><category></category></item><item><title><![CDATA[DropBlock]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107821421</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107821421</guid><author>qq_35447659</author><pubDate>Wed, 05 Aug 2020 17:53:18 +0800</pubDate><description><![CDATA[(a)原始输入图像

(b)绿色部分表示激活的特征单元，b图表示了随机dropout激活单元，但是这样dropout后，网络还会从drouout掉的激活单元附近学习到同样的信息

(c)绿色部分表示激活的特征单元，c图表示本文的DropBlock，通过dropout掉一部分相邻的整片的区域（比如头和脚），网络就会去注重学习狗的别的部位的特征，来实现正确分类，从而表现出更好的泛化。

code:


import torch
import torch.nn.functional as F
from tor..]]></description><category></category></item><item><title><![CDATA[激活函数Mish]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107820076</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107820076</guid><author>qq_35447659</author><pubDate>Wed, 05 Aug 2020 17:09:09 +0800</pubDate><description><![CDATA[y = x*tanh(ln(1+exp(x)))

实验中，随着层深的增加，ReLU激活函数精度迅速下降，而Mish激活函数在训练稳定性、平均准确率(1-2.8%)、峰值准确率(1.2% - 3.6%)等方面都有全面的提高。



从图中可以看出，Mish是一个平滑的曲线，平滑的激活函数允许更好的信息深入神经网络，从而得到更好的准确性和泛化；在负值的时候并不是完全截断，允许比较小的负梯度流入。

Code:


# -*- coding: utf-8 -*-
import torch
import torc]]></description><category></category></item><item><title><![CDATA[Label Smoothing]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107818462</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107818462</guid><author>qq_35447659</author><pubDate>Wed, 05 Aug 2020 16:21:49 +0800</pubDate><description><![CDATA[在分类任务中，我们通常对类别标签的编码使用[0,1,2,…]这种形式。在深度学习中，通常在全连接层的最后一层，加入一个softmax来计算输入数据属于每个类别的概率，并把概率最高的作为这个类别的输入，然后使用交叉熵作为损失函数。

这会导致模型对正确分类的情况奖励最大，错误分类惩罚最大。如果训练数据能覆盖所有情况，或者是完全正确，那么这种方式没有问题。但事实上，这不可能。所以这种方式可能会带来泛化能力差的问题，即过拟合。

按softmax交叉熵优化时，针对这个样本而言，会让0.721越来越接近于1，因为这]]></description><category></category></item><item><title><![CDATA[数据增强Mosaic]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107815310</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107815310</guid><author>qq_35447659</author><pubDate>Wed, 05 Aug 2020 14:56:21 +0800</pubDate><description><![CDATA[丰富检测物体的背景，且在BN计算的时候一下子会计算四张图片的数据，使得mini-batch大小不需要很大，那么一个GPU就可以达到比较好的效果。

实现思路
1、每次读取四张图片。

2、分别对四张图片进行翻转、缩放、色域变化等，并且按照四个方向位置摆好。

3、进行图片的组合和框的组合

主要代码：


    def load_mosaic(self, index):
        # loads images in a mosaic

        s = self.img_size // 2..]]></description><category></category></item><item><title><![CDATA[CutMix]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107814315</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107814315</guid><author>qq_35447659</author><pubDate>Wed, 05 Aug 2020 14:37:28 +0800</pubDate><description><![CDATA[Mixup:将随机的两张样本按比例混合，分类的结果按比例分配；
	Cutout:随机的将样本中的部分区域cut掉，并且填充0像素值，分类的结果不变；
	CutMix随机生成一个裁剪框Box,裁剪掉A图的相应位置，然后用B图片相应位置的ROI放到A图中被裁剪的区域形成新的样本，计算损失时同样采用加权求和的方式进行求解
主要code(Iteration过程中的实现方法):


lam = np.random.beta(args.beta, args.beta)
rand_index = torch.ran...]]></description><category></category></item><item><title><![CDATA[深度学习中的BN_CBN_CmBN]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107797737</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107797737</guid><author>qq_35447659</author><pubDate>Tue, 04 Aug 2020 20:16:05 +0800</pubDate><description><![CDATA[BN:

反向传播时经过该层的梯度是要乘以该层的参数的，即前向有：



反向传播时便有：



那么考虑从l层传到k层的情况，有：



其中这个



便是问题所在。如果Wi小于1,就会发生提督弥散



而如果Wi大于1，那么传到这里的时候又会有梯度爆炸问题



BN所做的就是解决这个梯度传播的问题，因为BN作用抹去了w的scale影响。



BN为了保证非线性的获得，对变换后的满足均值为0方差为1的x又进行了scale加上shift操作(y=scale*x+shift)，每个神经元增加了两个参数]]></description><category></category></item><item><title><![CDATA[kappa与quadratic weighted kappa]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107468778</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107468778</guid><author>qq_35447659</author><pubDate>Mon, 20 Jul 2020 17:56:01 +0800</pubDate><description><![CDATA[kappa系数是统计学中度量一致性的指标, 对于分类问题，一致性就是模型预测结果和实际分类结果是否一致. kappa系数的计算是基于混淆矩阵, 取值为-1到1之间, 通常大于0.

kappa
	quadratic weighted kappa
kappa

kappa系数的数学表达:



Po​为预测的准确率, 也可理解为预测的一致性:





Pe​表示偶然一致性:









例子来自：https://blog.youkuaiyun.com/weixin_38313518/article/deta...]]></description><category></category></item><item><title><![CDATA[玩转NMS]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107410527</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107410527</guid><author>qq_35447659</author><pubDate>Fri, 17 Jul 2020 17:27:35 +0800</pubDate><description><![CDATA[NMS的改进

非极大值抑制NMS是目标检测常用的后处理算法，用于剔除冗余检测框，本文将对可以提升精度的各种NMS方法及其变体进行阶段性总结。

对NMS进行分类，大致可分为以下六种，这里是依据它们在各自论文中的核心论点进行分类，这些算法可以同时属于多种类别。

分类：NMS，Soft-NMS (ICCV 2017)
	定位：IoU-Guided NMS (ECCV 2018)
	加权平均：Weighted NMS (ICME Workshop 2017) Softer-NMS (CVPR 2019)
	自]]></description><category></category></item><item><title><![CDATA[交叉熵损失函数的进化路程]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107389635</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107389635</guid><author>qq_35447659</author><pubDate>Thu, 16 Jul 2020 18:25:54 +0800</pubDate><description><![CDATA[一.交叉熵损失函数（CrossEntropy Loss）

1. 公式与性质





交叉熵代价函数同样有两个性质：

非负性：目标就是最小化代价函数
	克服方差代价函数更新权重过慢的问题




导数中没有σ′(z)这一项，权重的更新是受σ(z)−y这一项影响，即受误差的影响。所以当误差大的时候，权重更新就快，当误差小的时候，权重的更新就慢

2.交叉熵代价函数是如何产生的？

 以偏置b的梯度计算为例，推导出交叉熵代价函数：





b的梯度公式为：



为了消掉该公式中的

我们...]]></description><category></category></item><item><title><![CDATA[L1 VS L2(深度学习中的L1与L2)]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107267029</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107267029</guid><author>qq_35447659</author><pubDate>Fri, 10 Jul 2020 20:45:11 +0800</pubDate><description><![CDATA[L1 loss 

L1 loss的数学公式和函数图如下所示：





L1函数连续，但是在????−????(????)=0处不可导,L1 loss大部分情况下梯度都是相等的，这意味着即使对于小的损失值，其梯度也是大的,这不利于函数的收敛和模型的学习。但是，无论对于什么样的输入值，都有着稳定的梯度，不会导致梯度爆炸问题，具有较为稳健性的解。

L2 loss(MSE loss)

MSE曲线的特点是光滑连续、可导，便于使用梯度下降算法，是比较常用的一种损失函数。而且，MSE 随着误差的减小，梯度也在减小]]></description><category></category></item><item><title><![CDATA[从YOLO1到YOLO4]]></title><link>https://blog.youkuaiyun.com/qq_35447659/article/details/107251001</link><guid>https://blog.youkuaiyun.com/qq_35447659/article/details/107251001</guid><author>qq_35447659</author><pubDate>Fri, 10 Jul 2020 15:52:05 +0800</pubDate><description><![CDATA[Yolov1

1.1 yolov1网络结构：



1.2 yolov1和RCNN比较

YOLO将物体检测作为回归问题求解。基于一个单独的end-to-end网络，完成从原始图像的输入到物体位置和类别的输出。从网络设计上，YOLO与rcnn、fast rcnn及faster rcnn的区别如下：

[1] YOLO训练和检测，特征提取和分类回归均是在一个单独网络中进行。YOLO没有显示地求取region proposal的过程。而rcnn/fast rcnn 采用分离的模块（独立于网络之外的select]]></description><category></category></item></channel></rss>