自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Sora 原理与技术实战笔记一

Simulate virtual worlds: 链接虚拟世界,游戏视频场景生成Create a video: 长达60s的视频并保持人物、场景一致性。Sora, 通过 patch,预测下一个patch,构建一个自回归的方式来进行的。为了处理视频,提出了 ViViT,用 Transformers 来处理视频的一个模型.ViT 把完整的图片 Patch 化,把单个图片的patch 序列化。Video-to-video: 改变源视频风格or场景。Image-to-video: 图生视频。

2024-02-29 23:15:52 417

原创 【推荐算法系列六】Wide&Deep模型

Wide 部分的主要作用是让模型具有较强的“记忆能力”(Memorization),而 Deep 部分的主要作用是让模型具有“泛化能力”(Generalization),因为只有这样的结构特点,才能让模型兼具逻辑回归和深度神经网络的优点,也就是既能快速处理和记忆大量历史行为特征,又具有强大的表达能力,这就是 Google 提出这个模型的动机。就是因为 Wide 部分可以增强模型的记忆能力,让模型记住大量的直接且重要的规则,这正是单层的线性模型所擅长的。部分倾向于对已经反馈过的历史数据,学习其中的关系。

2024-02-27 18:33:02 969

原创 【推荐算法系列五】DeepFM 模型

在这一层中,会对 FM Layer 的结果与 Hidden Layer 的结果进行累加,这样做的好处是将低阶与高阶的特征交互融合,然后将得到的结果进行一个 sigmoid 操作,得到预测的概率输出。根据上面的结构图可以看到,实际上每一个高维稀疏向量都有自己所对应的 Embedding 向量,不同的向量之间的 Embedding 实际上是相互独立的,我们把每一个稠密向量进行横向的拼接,使其变成一个长度很长的稠密向量,然后再拼接上原始的数值特征,统一作为 Deep 与 FM 的输入。

2024-02-27 17:57:27 947

原创 【推荐算法系列十八】:DSSM 召回算法

参考DSSM 和 YouTubeDNN 都是比较经典的 U2I 模型。

2024-02-27 17:20:05 823

原创 【推荐算法系列十七】:GBDT+LR 排序算法

排序算法经典中的经典。

2024-02-27 16:46:47 1061

原创 【推荐算法系列十六】:协同过滤

基于模型的协同过滤(Model-based Collaborative Filtering)是协同过滤方法的一种,它与传统的基于邻域的协同过滤方法不同。基于模型的协同过滤是通过训练一个模型来预测用户对物品的评分或者喜好,而不是直接基于用户或物品之间的相似性来进行推荐。通过分析用户之间的相似性来实现推荐。常见的基于模型的协同过滤算法包括基于矩阵分解的隐语义模型、基于概率图模型的贝叶斯网络模型、基于神经网络的深度学习模型等。其推荐的对象不是与目标用户相似的其他用户,而是与该用户曾经感兴趣的内容相似的其他内容。

2024-02-27 16:35:47 1007

原创 YOLOv6 学习笔记

yolov6 出来的时候 yolov7 已经出了。

2024-02-18 23:48:06 954

原创 设计模式学习笔记(一):基本概念;UML

结构视图表示系统的静态行为,描述系统的静态元素,如包、类与对象,以及它们之间的关系;在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示二者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色。因此,在一个关联关系中可以包含两个角色名,角色名不是必需的,可以根据需要增加,其目的是使类之间的关系更加明确。类图(Class Diagram)是用出现在系统中的不同类来描述系统的静态结构,主要用来描述不同的类以及它们之间的关系。不同类型的对象可以使用相同的接口。

2024-02-05 22:46:33 1039

原创 OpenCompass 大模型评测

推理阶段主要是让模型从数据集产生输出,而评估阶段则是衡量这些输出与标准答案的匹配程度。使用 OpenCompass 评测 InternLM2-Chat-7B 模型使用 LMDeploy 0.2.0 部署后在 C-Eval 数据集上的性能。您需要配置整个评估过程,选择要评估的模型和数据集。使用 OpenCompass 评测 InternLM2-Chat-7B 模型在 C-Eval 数据集上的性能。OpenCompass 官方提供的数据集是怎么处理我们自己的模型能力的?每个评估任务由待评估的模型和数据集组成。

2024-02-05 13:57:39 1003

原创 Thinkpad E550 安装 Ubuntu

Thinkpad E550 使用 enter+f1进入 bios, 使用 f12 进入 boot 选项。不知道这个和系统有啥关系,感觉之前不是这样。。。

2024-02-04 12:52:00 577

原创 如何计算模型的复杂度(参数量,FLOPs)

全连接层就理解为一个矩阵,矩阵行数,矩阵列数,如考虑bias,则先计算输出向量中一个元素需要多少计算量,首先要做。在训练时计算的均值方差是直接计算,在预测时是用 running mean,running var.对于池化层而言,常用的Max-pooling,Avg-pooling等是不存在参数量的。先计算输出的feature中一个元素需要的计算量。若考虑 bias,则做的加法会多一次。: 输入的channel 数。: 输入的 height。: 输入的 width。: 输入的 width。

2024-02-03 00:01:14 1370

原创 Datawhale 强化学习笔记(四)结合策略梯度和价值函数的 Actor-Critic 算法

结合了策略梯度和值函数的 Actor-Critic 算法则能同时,并且甚至能问题。基于价值的(或称评论员型,Critic), 基于策略的(或称 演员型)

2024-01-24 00:17:14 874

原创 LMDeploy 大模型量化部署实践

在设备上运行起来,能够接受输入,返回输出。最重要的就是性能和效率方面的考虑。大模型也是模型的一种,内存开销大,7b 要14G左右的显存。因为是自回归的方式,需要把中间结果缓存下来,生成的结果越多,占的显存就越大。生成过程就是采样的过程。推理的时候是如何解决这种要生成万字的情况?依赖前一个生成的时候是怎么处理的?服务也是一个框架支持起来的。推理引擎是 C++ 写的,上层是 Python. 可以把 Python 当成一个客户端。量化是非常有必要的。请求的吞吐量。提升推理的速度。

2024-01-21 23:21:03 362

原创 XTuner 大模型单卡低成本微调实战

仅作为自己学习的笔记记录。

2024-01-21 12:27:46 901

原创 Datawhale 强化学习笔记(三)基于策略梯度(policy-based)的算法

轨迹是由状态和动作组合而成的序列,实际上一方面环境的初始状态是随机的,另一方面智能体每次采取的动作是随机的,从而导致每条轨迹的长度都可能不一样,这样组合起来的轨迹几乎是无限多条的,这样一来求解目标函数的梯度就变得非常困难了。基于价值的算法是通过学习价值函数来指导策略的,而基于策略的算法则是对策略进行优化,并且通过计算轨迹的价值期望来指导策略的更新。,然后利用这些轨迹的平均值来近似求解目标函数的梯度。策略梯度算法是一类直接对策略进行优化的算法,但它的优化目标与基于价值的算法是一样的,都是累积的价值期望。

2024-01-20 23:42:21 844

原创 NVIDIA 大模型 RAG 分享笔记

通用目的的微调技术。参数化和非参数化的技术。RAG对于大语言模型来说类比于开卷考试。三个步骤RetrivealAugmentation: 增强的 prompt增强的上下文是有理有据的,减少幻觉参数化的知识,结合传入的数据,生成技术非参数化的技术:数据库的部分文档加载预训练的参数化部分基础大语言模型的选择部署平台的选择,提升用户的体验模型:适合场景的模型,比如代码类,问答类会有对应的模型部署:低延迟、高吞吐率。是否支撑换模型。

2024-01-18 15:17:43 1315

原创 Datawhale 强化学习笔记(二)马尔可夫过程,DQN 算法

其次,每次迭代的样本都是从环境中实时交互得到的,这样的样本是有关联的,而梯度下降法是基于一个假设的,即训练集中的样本是独立同分布的。在 DQN 算法中,大臣是不管好的还是坏的情报都会汇报给皇帝的,而在 Double DQN 算法中大臣会根据自己的判断将自己认为最优的情报汇报给皇帝,即先在策略网络中找出最大 Q 值对应的动作。目标网络和当前网络结构都是相同的,都用于近似 Q 值,在实践中每隔若干步才把每步更新的当前网络参数复制给目标网络,这样做的好处是保证训练的稳定,避免 Q 值的估计发散。

2024-01-17 13:24:14 1170

原创 Datawhale 强化学习笔记(一)概述

多智能体从数据中学习(从演示中学):利用数据来辅助学习模仿学习: 模仿学习是指在奖励函数难以明确定义或者策略本身就很难学出来的情况下,我们可以通过模仿人类的行为来学习到一个较好的策略逆强化学习:从人类数据中学习奖励函数;通过观察人类的行为来学习到一个奖励函数,然后通过强化学习来学习一个策略。由于需要专家数据,逆强化学习会受到噪声的影响,因此如何从噪声数据中学习到一个较好的奖励函数也是一个难题。

2024-01-17 12:47:51 880

原创 基于 InternLM 和 LangChain 搭建你的知识库

劣势:能力受基座模型影响大,RAG每次需要将检索文档和问题提交给大模型,极大占用上下文限制。优势:可以充分拟合个性化数据;个性化大模型,依然具有广大的通用能力。劣势:无法解决实时更新成本问题。算力、数据都需要成本。如何打造个人专属的大模型应用也是重要的问题。如何打造垂域大模型是一个重要落地方向。Finetune 轻量级的微调。RAG 外挂一个知识库。优势:成本低,实时更新。

2024-01-14 21:58:51 349

原创 书生浦语大模型训练营第一课笔记:全链路开源体系

AI 的研究方向,从专业模型转变为通用模型。上海人工智能实验室的开源历程覆盖了轻量级、中量级、重量级的模型;7B 20B 都是免费开源的,可商用。

2024-01-05 19:47:28 413

原创 优化算法 学习记录

优化算法使我们能够继续更新模型参数,并使损失函数的值最小化。优化算法的性能直接影响模型的训练效率。然而,在深度学习中,我们可能希望更慢地降低学习率。凸优化的入门,以及凸目标函数上非常简单的随机梯度下降算法的证明。在AdaGrad算法中,我们允许每个坐标有单独的学习率。目标函数通常是训练数据集中每个样本的损失函数的平均值。我们可以看到,每次迭代的计算代价从梯度下降的。这个动量法似乎不是针对学习率的改变。优化算法本身会根据梯度调节其实际的学习率。的训练样本的损失函数,其中。的目标函数的梯度计算为。

2023-12-09 02:59:49 113

原创 刷题方法论

3.记忆 (脑图) + 反复 (五毒神掌) 是最为有效的方法。2.谨记“通过”只是开始,关键要看高票代码和高质量题解!倍速播放,难点:暂定+反复;2.一遍或两遍不理解,很正常 (坚持五毒神掌)1.数据结构和算法有其客观存在的复杂度。1.忘记践行五毒神掌(有规律地过遍数。(先BFS、再DFS:举例)

2023-11-20 16:23:14 166

原创 YOLOv5 学习记录

为了读者更方便地搭建 CSPDarkNet53,笔者这里也给出 CSPDarkNet53 的结构图,如图所示,这里CSPDarkNet53依然使用的是类似 ResNet 的层次结构设计的思想,以及这里CSPDarkNet53对于每个 Stage的配置同DarkNet53一样,分别是 3,6,9,3,依次对应的下采样倍数为:4、8、16、32。相比较 YOLOv3 和 YOLOv4 匹配正样本的方式,YOLOv5的这种匹配方式能够分配更多的正样本,有助于训练加速收敛,以及正负样本的平衡。

2023-11-19 22:43:27 347

原创 智能驾驶汽车虚拟仿真视频数据理解(一)

五个样例,甚至30个测试样本也可以用来自己标注。滴滴?

2023-11-18 04:28:02 451

原创 opencv(5): 滤波器

滤波的作用:一幅图像通过滤波器得到另一幅图像;其中滤波器又称为卷积核,滤波的过程称为卷积。锐化:边缘变清晰目标:去除图像中的高频成分,保留低频成分。效果:平滑图像、去除噪声。应用:图像平滑、模糊、去噪等。常见滤波器:均值滤波、高斯滤波等。目标:去除图像中的低频成分,保留高频成分。效果:突出图像的边缘、细节。应用:图像锐化、边缘检测等。常见滤波器:拉普拉斯滤波、Sobel 滤波等。在频域中,图像的低频成分对应于图像中变化缓慢的区域,而高频成分对应于图像中变化较快的区域。

2023-11-17 18:06:31 870

原创 opencv(4):颜色空间

YUV 主要应用于视频编码和传输领域,其中 Y 分量用于表示亮度信息,而 U 和 V 分量则用于表示颜色信息。采样方式: Y 分量进行全采样,而 U 和 V 分量进行水平和垂直方向的子采样。YUV420、YUV422、YUV444 是 YUV 颜色编码的不同变体,它们主要区别在于亮度(Y)和色度(U、V)分量的采样方式和存储结构。存储结构: 类似 YUV420,以块为单位存储,但 U 和 V 采样略为密集,相对于 YUV420,存储要求更高。存储结构: 每个像素都有对应的 Y、U、V 值,存储密集。

2023-11-17 17:34:27 442

原创 opencv(3):控制鼠标,创建 tackbar控件

在 OpenCV 中,setMouseCallback 函数用于设置鼠标事件的回调函数。event, flags 的定义在文件。用于获取滑动条的当前位置(值)。用于在窗口中创建滑动条。

2023-11-17 16:45:39 545

原创 LangChain(2):基于自己的文档构建一个问答系统

此笔记来自于 黄佳 的极客时间 LangChain 实战课。如有侵权请联系删除。欢迎来到LangChain实战课。

2023-11-16 22:41:48 687

原创 langchain(1):使用LangChain 调用 openai 的 text/chat model

这通常是你想要的模型的输出。另外,无论是 langchain.llms 中的 OpenAI(Text 模型),还是 langchain.chat_models 中的 ChatOpenAI 中的 ChatOpenAI(Chat 模型),其返回的结果 response 变量的结构,都比直接调用 OpenAI API 来得简单一些。这只是一个对 OpenAI API 的简单封装:先导入 LangChain 的 OpenAI 类,创建一个 LLM(大语言模型)对象,指定使用的模型和一些生成参数。

2023-11-16 22:25:08 1213

原创 YOLOv4 学习记录

FPN+PAN 借鉴的是PANet,当时主要应用于图像分割领域,如图所示,FPN 是自顶向下,将高层的强语义特征传递下来,而 FPN+PAN 针对这一点,在 FPN 的后面添加一个自底向上的金字塔,这样的操作是对 FPN 的补充,将底层的强定位特征传递上去,这也YOLOv4的Neck不仅能增强高级语义信息,又能增强特征的定位信息。问题1:即情况1的情况,当预测框和目标框不相交时,IOU=0,无法反应两个框距离的远近,此时损失函数不可导,IOU_Loss无法优化两个框不相交的情况。

2023-11-16 16:52:25 396

原创 YOLOv3 学习记录

关注目标在哪里目标是什么目标检测的发展路径:proposal 两阶段 --> anchor-base/ anchor-free --> nms free小目标、跨域?1、YOLOv3在实时性和精确性在当时都是做的比较好的,并在工业界得到了广泛应用。2、YOLOv3在Backbone网络结构上应用残差连接思想来解决深度网络的梯度消失问题。yolov2 使用的是 darknet 19, 类似于 vgg。3、YOLOv3最显著的改进就是在3个尺度上以相同的方式进行目标的检测。

2023-11-16 15:55:08 364

原创 opencv(2): 视频采集和录制

相关API。

2023-11-16 14:43:45 612

原创 opencv(1):创建和显示窗口, 读取保存图片

下载源码,方便查看 API 信息。快速在源码文件夹中搜索相关 api.

2023-11-16 02:16:49 570

原创 mask: rle, polygon

RLE(Run-Length Encoding)是一种简单而有效的无损数据压缩和编码方法。它的基本思想是将连续相同的数据值序列用一个值和其连续出现的次数来表示,从而减少数据的存储或传输量。在图像分割领域(如 COCO 数据集中),RLE 通常被用来表示二进制掩码。二进制掩码是由 0 和 1 组成的矩阵,其中 0 表示背景,1 表示前景(或某个特定的物体)。使用 RLE 编码可以有效地表示连续的相同值序列。

2023-11-16 01:20:48 312

原创 python tempfile 模块使用

在Python中,tempfile 模块用于创建临时文件和目录,它们可以用于存储中间处理数据,不需要长期保存。该模块提供了几种不同的类和函数来创建临时文件和目录。

2023-11-06 21:26:42 261

原创 MMDetection 系列(一): 初步入门配置文件

学习配置文件。

2023-11-04 16:38:56 167

原创 COCO 格式

id: 类别的唯一ID。name: 类别的名称。supercategory: 为了方便,相关的类别可以分组到同一个超类别。licenses (如果有的话): 列表,定义图像的许可证信息。

2023-11-02 16:21:35 157

原创 PASCAL VOC 格式

PASCAL VOC(Visual Object Classes)是一个经典的计算机视觉数据集,它对于物体检测、图像分割和分类等任务都提供了标注数据。"PASCAL VOC 格式"是指该数据集中用于存储标注信息的XML格式。

2023-11-02 15:18:43 259

原创 pytest 使用(二):前后置(固件,夹具)

setup/teardown,setup_class/teardown_class 它是作用于所有用例或者所有的类@pytest.fixtrue() 它的作用是既可以部分也可以全部前后置。conftest.py和@pytest.fixtrue()结合使用,作用于全局的前后置。

2023-11-01 09:52:59 348

原创 pytest 使用(一)

(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组。不管是主函数的模式运行,命令行模式运行,都会去读取这个配置文件。–html ./report/report.html:生成html的测试报告。2.编码:必须是ANSI,可以使用notpad++修改编码格式。-s:表示输出调试信息,包括print打印的信息。-x:表示只要要一个用例报错,那么测试停止。-k:根据测试用例的部分字符串指定测试用例。3.作用:改变pytest默认的行为。改变默认的执行顺序:使用mark标记。

2023-11-01 09:42:10 311

空空如也

空空如也

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

TA关注的人

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