
深度学习基础知识
一路狂奔的猪
从事计算机视觉,神经网络研究,自然语言处理等相关方向。擅长人体检测和人体姿态方向。涉猎过的方向:行人检测、弱监督目标检测、语义分割,语义分割域适应,生成对抗网络,迁移学习,多标签,命名实体识别。希望猪猪在学习的路上一路狂奔
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
计算一个框和其他所有框的IOU
import osimport jsonimport numpy as npdef culculate_iou(box,checked_boxes): ''' :param box: [x1,y1,x2,y2] :param checked_boxes: [N,x1,y1,x2,y2] :return: ''' b1=np.array(box) b2=np.array(checked_boxes) xx=np.maximum(b1[0.原创 2021-02-26 16:48:13 · 777 阅读 · 0 评论 -
旋转图片和旋转框(在线抠图数据增强)
import osimport cv2from PIL import Imageimport torchimport randomimport numpy as npimport mathimport matplotlib.pyplot as plt# 绕pointx,pointy逆时针旋转def Nrotate(angle,valuex,valuey,pointx,poin...原创 2020-03-19 14:04:10 · 748 阅读 · 0 评论 -
python循环定义变量
在实际问题中,遇到个问题,我需要创建多文件,名字没有规律,把出现该名字的行写入以该名字命名的文件中:关键就在与locals()函数:定义变量格式:locals()[name]f=open('../gongcheng.json','r')file_name=['js_hwl','qhgg','sq_hwl','task']for name in file_name: loc...原创 2019-06-10 12:05:27 · 8500 阅读 · 0 评论 -
linux视频截取命令(ffmpeg)
格式:ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4* -ss 指定从什么时间开始* -t 指定需要截取多长时间* -i 指定输入文件截取实例:(实测截取结束时间不太精确,可以分两个截取,起始时间比较精确)ffmpeg -ss 00:00:00 -t 00:0...原创 2019-06-13 10:50:52 · 2667 阅读 · 0 评论 -
GHM------Gradient Harmonized Single-stage Detector 从梯度的方向来解决样本不均衡的问题
最近GHM太热门了,因此最近在做GHM的实验,因此做个笔记。文章:https://arxiv.org/pdf/1811.05181.pdfcode:https://github.com/libuyu/GHM_Detection介绍GHM之前,先提一下Focal loss:精辟的介绍Focal lossFocal loss主要是为了解决one-stage目标检测中正负样本比例...原创 2019-03-28 20:37:15 · 3151 阅读 · 2 评论 -
RetinaNet
在使用网络结构时常常会遇到例如Res50-FPN-RetinaSubNet的网络组合。初学者常常会疑惑这是什么结构,甚至会问这是one-stage还是two-stage,实际RetinaNet=FPN+subnetwork+FL即RetinaNet是FPN-based 的one-stage detector,靠focal loss进行处理类别不平衡问题。详细参考:https://...原创 2019-03-31 17:59:30 · 2494 阅读 · 1 评论 -
在线难例挖掘(OHEM)
OHEM(online hard example miniing)详细解读一下OHEM的实现代码:def ohem_loss( batch_size, cls_pred, cls_target, loc_pred, loc_target, smooth_l1_sigma=1.0): """ Arguments: batch_size (int):...原创 2019-03-23 21:48:32 · 5433 阅读 · 3 评论 -
知识蒸馏和紧致网络
重要链接:深度学习模型压缩与优化加速深度神经网络的压缩与加速的主要方法有:参数剪枝、参数共享、低秩分解、紧性卷积核设计、知识蒸馏知识蒸馏:迁移学习的一种,目的是将庞大网络学到的知识转移到小的网络模型上,即不改变网络复杂度的情况下,通过增加监督信息的丰富程度来提升性能。关键点:1.知识获取 2.知识转移常见集中思想:1. softmax层的输入比类别标签包含更多的监督...转载 2019-03-30 15:24:55 · 819 阅读 · 0 评论 -
resnet系列在imagenet上预训练的pytorch模型下载地址
下载地址列表:model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth', 'resnet50': 'htt...原创 2019-03-23 12:47:18 · 18071 阅读 · 8 评论 -
当字典中,有键值为True或则False这种bool类型时,使用eval会报错NameError: name 'false' is not defined
问题代码:with open(face_json) as f: face_lines = f.readlines()print(face_lines[0])eval(face_lines[1])怎么解决呢?网上这么说:(在python文件中加入下面两句话)global false, null, truefalse = null = true = ''但这种操作...原创 2019-03-22 16:34:11 · 2350 阅读 · 1 评论 -
argparse用法
argparse 是python自带的命令行参数解析包。import argparse #导入这个解析包parser = argparse.ArgumentParser(description="Demo of argparse") #ArgumentParser是参数解析器,里面的description 是自己写的方便别人读懂的文字parser.add_argument('-n','-...原创 2019-03-08 16:12:41 · 197 阅读 · 0 评论 -
脚本语言使用记录(wget和curl下载文件对比)
Table of Contentswgetcurlwget经常会使用到下载一些文件,比较常用的命令是wget格式为:wget+下载链接,例如下载VOC2007到当前目录:wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar比较值得记录的wget可以带的参数:断...原创 2019-03-06 10:23:04 · 1587 阅读 · 0 评论 -
激活函数的比较
在深度网络中激活函数的作用:引入非线性。提升网络的表达能力激活函数的对比Sigmoid:sigmoid的计算量大(相比Relu),反向传播容易出现梯度消失,输出均大于0,使得输出均值不为0,出现偏移现象。tanh:双曲正切计算量更大,依然有软饱和性;Relu:收敛速度比sigmoid和tanh快很多(差值更大导致loss更大),缺点是输出会落入赢饱和区,影响网络收敛...原创 2019-02-20 22:35:12 · 459 阅读 · 0 评论 -
L1和L2正则化的对比和融合
我们在深度学习主要会用到的正则化是L1和L2正则,以及两者的一些融合变形。L1和L2正则化的作用:防止网络过拟合,网络更简单(给极端值惩罚),网络的泛化能力越强。正则化的对象是网络的参数,在深度学习中就是网络的权重。L1正则是参数的绝对值求和,L2正则是参数的平方和。使用方法:在网络的损失函数中加入新的一项,将L1或者L2的值乘以一个系数。优化目标是最小化这一项。L1和L2的...原创 2019-02-20 22:17:42 · 988 阅读 · 0 评论 -
深度学习中的BatchNorm个人总结
Batchnorm想要解决的问题:深度神经网络随着网络加深,网络收敛越来越慢,在训练过程中会出现梯度消失。(总结为网络收敛慢,梯度消失问题)以上问题出现的原因:随着网络加深,训练过程中每一层的输出分布逐渐发生偏移,一般整体会逐渐向非线性函数的上下限两端靠近。比如sigmoid激活函数,越往两端走,梯度越小,甚至消失。梯度太小使得训练慢,消失使得无法训练。BatchNorm如何解决:...原创 2019-02-20 22:01:01 · 1391 阅读 · 0 评论 -
AdaBound算法:像Adam一样快,又像SGD一样好的优化器
第一作者是北大大四学生,有点厉害啊!论文地址:https://openreview.net/pdf?id=Bkg3g2R9FXGitHub地址:https://github.com/Luolc/AdaBound这篇文章对于SGD和Adam等优化算法的理解也有很大的帮助。文章的Motivation是:SGD的缺点:SGD现在后期调优时还是经常使用到,但SGD的问题...原创 2019-02-28 17:04:37 · 6305 阅读 · 0 评论 -
linux中的sh脚本语法
想要玩好深度学习,除了学习python,linux常写的sh脚本语言参考:http://tsov.net/sh-script-syntax/下面这个对于脚本语言的细节讲解更规范:https://www.cnblogs.com/yinheyi/p/6648242.html ...原创 2019-02-22 23:22:50 · 529 阅读 · 0 评论