自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 收藏
  • 关注

原创 linux常用命令

linux命令的基本格式:命令 【选项】【参数】,如 cd -l anaconda3 ls:显示当前目录下的内容(list) ls -a (all)显示所有文件,包括隐藏的文件 ls -l 长格式显示,显示文件的详细信息,文件大小是字节 ls -lh 字节的显示格式:K:KB千字节,M:MB兆字节 cd:切换目录(change directory) ...

2019-03-29 23:44:20 212

原创 人脸识别基本流程

人脸识别一般包括:人脸检测、人脸对齐、人脸特征提取和人脸比对四个步骤。

2024-02-05 10:56:51 839

原创 LLM中损失函数解析

在GPT系列大语言模型中损失函数采用的是自回归语言建模任务,即根据前K-1个token预测第K个token,本质上都是交叉熵分类损失,在实现上预训练和监督微调稍有不同,本文分别进行介绍。

2023-12-04 19:43:57 2838 2

原创 多模态大模型总结2(主要2023年)

对2023年主流视觉-语言多模态大模型进行总结

2023-11-28 11:19:50 766

原创 多模态大模型总结1(2021和2022年)

CLIP中采用的对比损失,最大化配对文本对的余弦相似度,最小化非配对文本对的余弦相似度,采用交叉熵损失实现BERT中采用的掩码语言建模任务,也是对每一个[MASK]进行分类二分类损失,预测输入的(图像-文本)对是配对的还是非配对的ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision首次提出,在图像编码器中不需要采用目标检测器,直接采用图像的patch embedding。但只采用图像的embedding

2023-11-26 19:42:52 315 2

原创 多模态常见任务介绍

给定一个图片以及问题,需要理解图片的内容并基于此用自然语言回答问题。例如,图像中发生什么事,人物穿的衣服是什么颜色,图像中有多少架飞机等。例如,TDIUC(Task Directed Image Understanding Challege) 是一个任务导向的图像理解数据集。作者收集了 VQAv2 等数据集,并进一步划分为 12 个子任务。

2023-11-24 13:54:09 519

原创 nn.Embedding

nn.Embedding具有一个权重(.weight),形状是(num_words, embedding_dim)。例如一共有10个词,每个词用3维向量表征,对应的权重就是一个10×3的矩阵。Embedding的输入形状N×W,N是batch size,W是序列的长度,输出的形状是N×W×embedding_dim。在PyTorch中,针对词向量有一个专门的层nn.Embedding,用来实现词与词向量的映射。Embedding的权重是可以训练的,既可以采用随机初始化,也可以采用预训练好的词向量初始化。

2023-07-31 15:04:05 587

原创 模型训练-3D并行

有一张显卡(例如rank 0显卡)专门用于存储模型参数、梯度信息和更新模型参数。将训练数据分成多份(份数等于显卡数量),每张卡上的模型参数相同,进行前向和反向传播后,每张卡上都计算得到对应部分数据的梯度,然后对多张卡上的梯度进行reduce操作,将平均后的梯度结果存放在专门的显卡上,然后在专门的显卡上利用优化器进行参数更新。最后将更新后的参数再broadcast到所有显卡上,重复上述过程1.2 distributed data parallel(分布式数据并行)区别:不需要专门的参数服务器。

2023-06-27 22:07:15 679 1

原创 多张显卡之间通信方式

4. reduce scatter:与all reduce的区别在于,每张显卡上的结果是所有显卡上的一部分数据reduce的结果,例如out0 = 前1/4的in0 + ... + 前1/4的in3。2. reduce(归约):将所有显卡上的数据,相加/取平均/取max等操作之后,将结果放在其中一张卡上(自己指定的显卡)1.broadcast(广播):将一张卡上的数据传到其它所有的卡上(下图中的out就是等于in)3. all reduce:效果等价于先reduce再broadcast。

2023-06-27 21:42:30 537

原创 大模型显存占用分析

下图以Transformer中的全连接层为例,每一个全连接层的输入参数维度为[batch, 句子长度, 每个token维度]4.模型的中间计算结果,因为反向传播求导时会用到,需要存储每一层的输入。3.优化器参数(占大头):以Adam参数为例,还需要在显卡中额外存储。1. 模型本身参数,假设是1个单位。2.模型的梯度,同样也是一个单位。两个参数,因此为2个单位参数。

2023-06-27 21:27:36 1843

原创 《从GLM-130B到ChatGLM:大模型预训练与微调》笔记

BF16牺牲了数据精度(表示由10位降到7位),但扩大了数据的表示范围(有研究表明数据表示范围比精度更重要)有个参数服务器,模型参数在参数服务器上进行更新,然后所有节点pull模型参数。alpha取0.1,手动降低embedding层的梯度。在code数据集上训练,增强大模型的逻辑推理能力。GLM和LLaMA中采用RoPE旋转式编码。100B参数的大模型开始出现智能涌现。LLaMA采用BF16训练的。大部分内存占用为激活函数。

2023-06-05 22:13:11 709

原创 BERT论文核心点记录

BERT适合分类任务(整段分类后者词分类),对生成任务不友好使用BERT的方法:只需要在预训练好的BERT基础上新增一个输出层,然后用标记好的数据进行有监督微调Bidirectional Encoder双向Encoder实质上就是指Transformer中的encoder,双向是指在self-attention的每个位置能看到左/右两侧的上下文信息。

2023-05-25 22:05:11 714

原创 Word Embedding

缺点1.向量维度和向量个数很大,假设有1w个token的话,向量个数和维度就都是1w2. 语义相近的词的向量并不相似。

2023-05-07 16:27:47 542

原创 ChatGPT和知识图谱视频笔记

prompting tuning未对模型参数进行更新, Fine tuning和Instruction tuning都对模型参数进行了更新。

2023-05-07 14:08:54 161

原创 Tokenizer分词

在使用神经网络处理自然语言处理任务时,我们首先需要对数据进行预处理,将数据从字符串转换为神经网络可以接受的格式,一般会分为如下几步:(1)分词:使用分词器对文本数据进行分词(字、字词)得到token;

2023-05-05 10:05:04 2784 1

原创 大语言模型中的Finetune vs. prompt

好处。

2023-04-05 21:18:23 1068

原创 GPT系列论文

GPT系列论文笔记

2023-04-04 21:49:02 1340

原创 Pytorch加载数据集

退出 exit 或者 ctrl+D,退出当前窗口 tmux detach 退出当前窗口,但不会删除 重新进入detach的某会话 tmux attach -t <编号> tmux attach -t <name> 彻底杀死窗口快捷键...

2022-04-16 22:01:46 1454

原创 清华操作系统课程笔记--第7章:进程管理

六大点:进程(process)描述(静态表示) 进程状态(state)(动态表示) 线程(thread) 进程间通信(inter-process communication) 进程互斥与同步 死锁(deadlock)1. 进程描述进程的定义 定义:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程(这整个动态过程被称为进程) 进程的组成 一个进程应该包括 程序的代码 程序处理的数据 程序计数器(寄存器)中的值,指示下一条将运行的指令的位置 一组通

2020-11-15 23:11:44 196

原创 清华操作系统课程笔记--第一章概述

1.2 什么是操作系统什么是操作系统 从用户角度,操作系统是一个控制软件 管理应用程序 为应用程序提供服务 杀死应用程序 资源管理 管理外设、分配资源 OS将CPU,磁盘和内存进行了抽象,如上图所示 OS的层次结构,起到承上启下作用 位于硬件之上,为各种硬件进行了抽象,向应用程序提供抽象接口 位于应用程序之下,为应用软件提供服务支撑 操作系统提供了两种不同的对外接口 shell(外壳):面向应用程序,linux, windows, android等的界面属于

2020-11-15 21:25:47 146

原创 shuffleNet系列

目录分组卷积分组卷积的矛盾——计算量分组卷积的矛盾——特征通信channel shuffleShuffleNet V1ShuffleNet基本单元ShuffleNet网络结构对比实验ShuffleNet V2设计理念网络结构对比实验分组卷积Group convolution是将输入层的不同特征图进行分组,然后采用不同的卷积核再对各个组进行卷积,这样会降低卷积的计算量。因为一般的卷积都是在所有的输入特征图上做卷积,可以说是全通道卷积,这是一种通道密集连.

2020-08-02 16:39:31 3125

原创 MobileNet系列

MobileNet V1V1采用了depthwise separable convolution,即由depthwise卷积和pointwise卷积两步组成深度可分离卷积基本单元如下图所示,图中的应为ReLU6ReLU6=min(max(0,x), 6),见下图通过深度可分离卷积,计算量将会下降,当卷积核尺寸等于3时,深度可分离卷积比传统卷积少8到9倍的计算量。最后给出v1的整个模型结构,该网络有28层。可以看出,该网络基本去除了pool层,使用stride来进行降采样(难道是.

2020-08-02 16:00:01 389

原创 分组卷积与DW卷积

分组卷积不考虑权重项的话,常规卷积的参数量是: 若分组数为G,则分组卷积的参数量是: 即分组卷积可将参数量减小为原来的1/G。pytorch的nn.Conv2d中的groups参数代表需要分的组数量,默...

2020-08-01 16:09:41 5214

原创 halcon-基于正常样本的深度学习缺陷检测

halcon20.05示例程序* * Deep learning anomaly detection example.* * This example demonstrates the general workflow for anomaly detection* based on deep learning.* * The workflow typically consists of four steps which are described here:* 1. Dataset pr

2020-07-13 23:30:47 4750 7

原创 caffe--python接口

caffe的总体流程准备数据 ==> 定义Net ==> 配置Solver ==> Run ==> 分析结果画网络结构的图形表示进入网络模型的prototxt文件所在位置,运行下面命令,会在当前位置输出xxx.pngpython ~/caffe/python/draw_net.py xxx.prototxt xxx.png --rankdir=BT# BT=Bottom to Top,该参数还可以为TB,LR,RL等caffe命令c

2020-07-05 23:10:58 150

原创 形态学处理及opencv-python函数

通过阈值分割可以得到二值图,但往往会出现图像中物体形态不完整,变的残缺,或者有很多噪声点。可以通过形态学处理,使其变得丰满,或者去除掉多余的像素。常用的形态学处理算法包括:腐蚀,膨胀,开运算,闭运算,形态学梯度,顶帽运算和底帽运算。0. 结构元素opencv中可用的结构元素有三种:矩阵,椭圆形,十字架kernel = cv2.getStructuringElement(shape,ksize,anchor) shape:核的形状 cv2.MOR

2020-07-03 22:06:39 336

原创 leetcode300--最长上升子序列LIS

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。法1:动态规划参考:动态规划 + 贪心算法(二分法)(Python 代码、...

2019-08-24 14:38:50 149

原创 深度学习真实图像去噪算法总结

真实图像去噪Path-Restore: Learning Network Path Selection for Image Restoration(商汤) PRIDNet: Pyramid Real Image Denoising Network RIDNet: A Multi-Level Network for Real Image Denoising PD: When AWGN-ba...

2019-08-24 14:37:07 4919 2

原创 kmeans及其python实现

k-means算法的基础是最小误差平方和准则,代价函数是:式中是第c族的质心坐标(均值)伪代码如下:创建k个点作为初始的质心点(随机选择)当任意一个点的簇分配结果发生改变时: 对数据集中的每一个数据点: 对每一个质心: ...

2019-08-20 23:14:46 536

原创 0-1背包详细解析及python实现

n件商品数量,限制的最大重量(capacity)是c,物品的重量数组是w,商品价值数组是v,求能取得的最大价值动态规划解法:构建二维数组:每一行代表一个物品,并添加全0的第一行,代表没有商品,因此实际是n+1行;每一列代表当前背包的容量,共c+1列(0,1,...,c) 状态转移矩阵:原始形式是:if w[i] > j: #如果第i件物品太重,背包已放不下 dp[i...

2019-08-07 11:05:31 957

原创 nms and soft nms

nms:步骤:按打分最高到最低将BBox排序 ,例如:A B C D E F A的分数最高,保留。从B-E与A分别求重叠率IoU,假设B、D与A的IoU大于阈值,那么B和D可以认为是重复标记去除 余下C E F,重复前面两步代码:import numpy as np def nms_cpu_py(dets,thre): x1 = dets[:,0] y1 = dets[...

2019-08-06 19:15:36 292

原创 yolov3详解

每个边界框的中心点坐标均为相对于其对应的cell左上点坐标的偏移,此时即保证每个边界框的中心点均落在其对应的cell中。其计算公式如下:上式中:即为预测的边界框bounding box在feature map中的中心点坐标和长宽; 即为网络学习的相对于先验框(prior,anchor)的offsets; 是各个cell的左上点坐标;即为先验框(prior,anchor)相对于...

2019-08-01 11:11:11 5723

原创 CBAM: Convolutional Block Attention Module—— channel attention + spatial attention

影响卷积神经网络的几大因素:Depth: VGG, ResNet Width: GoogLeNet Cardinality: Xception, ResNeXt Attention:channel attention, spatial attentionAttention在人类感知系统中扮演了重要角色,人类视觉系统的一大重要性质是人类并不是试图一次处理完整个场景,与此相反,为了更好地捕捉...

2019-07-31 17:24:01 5295

原创 深度学习图像降噪资源总结

What's new in image denoising - 图像去噪进展[attention][降噪][Arxiv 2019] Real Image Denoising..

2019-07-31 17:19:52 2438

原创 剑指offer-字符串的排列 python

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。思路:循环遍历每个字符,让每个字符打头,然后继续递归遍历其余的字符因为可能有字符重复,所以最后用到set()因为要按字典序...

2019-07-16 11:31:54 126

原创 leetcode15-三数之和

给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]法一:暴力遍历,O(N...

2019-07-12 14:51:12 91

原创 DenseNet图解

第一层为DenseNet 整体结构 第二层是Dense block结构 第三层是每一个Dense layer的结构注意:每一次增加32个feature maps,然后和前面一层layer的feature maps相叠加,而不是和前面所有层的feature maps相叠加。(从信息流的观点来看,等同于和前面所有层feature maps相叠加)每一个Dense layer中,先用1*1...

2019-06-12 16:05:41 2274

原创 剑指offer-丑数 python

题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。class Solution: def GetUglyNumber_Solution(self, index): # write code here if...

2019-05-27 22:35:39 90

原创 python 函数

目录python函数的参数传递:参数类别:匿名函数(lambda表达式)return语句变量作用域global和nonlocal关键字python函数的参数传递:不可变类型:如数值、字符串、元组,类似c++的值传递 可变类型:如列表、字典,类似c++的引用传递参数类别:必须参数:须以正确的顺序传入函数,调用时的数量必须和声明时一样,否则会输出posi...

2019-05-26 22:40:44 131

原创 python的类

__init__()类有一个名为__init__()的特殊方法(构造方法),该方法在类实例化时会被自动调用;当然,__init__()方法也可以有参数,参数通过__init__()传递到类的实例化操作上,例如:class Complex: def __init__(self, realpart, imagpart): self.r = realpart ...

2019-05-26 14:14:31 161

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除