avatar
文章
51
标签
71
分类
12

Home
Archives
Tags
Link
About
一世逍遥的博客
Home
Archives
Tags
Link
About

一世逍遥的博客

卷积核心知识回顾
发表于2024-09-14
发现笔试选择题可能会考卷积的,在这里回顾一下卷积常考的一些知识点。 卷积计算公式 输入图片的尺寸假设为\(n\times n\),卷积核大小为\(f\times f\),padding大小为\(p\),步长为\(s\)时,输出特征图的尺寸\(o\times o\)可以用如下公式计算: \[ o = \lfloor \frac{n-f+2p}{s} \rfloor + 1 \] 多通道卷积 img 多通道卷积的计算过程:将矩阵与滤波器对应的每一个通道进行卷积运算,最后相加,形成一个单通道输出,加上偏置项后,我们得到了一个最终的单通道输出。如果存在多个filter,这时我们可以把这些最终的单通道输出组合成一个总输出。 这里我们还需要注意一些问题——滤波器的通道数、输出特征图的通道数。 某一层滤波器的通道数 = 上一层特征图的通道数。如上图所示,我们输入一张 6×6×3 的RGB图片,那么滤波器( 3×3×3 )也要有三个通道。 某一层输出特征图的通道数 = 当前层滤波器的个数。如上图所示,当只有一个filter时,输出特征图( 4×4 )的通道数为1;当有2个filter时,输出特征 ...
常见编程题思路盘点-20240913
发表于2024-09-13
这边来盘点一下常见的编程题思路。这节主要盘点一下动态规划的几个常见思路。 动态规划 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划能够降低复杂度的关键是存在子问题重叠,加速来自于避免重复求解相同的子问题。因此,如果确定要使用动态规划,必须要合理定义子问题。这并不简单,因此在这里盘点一下常见的思路。 动态规划五步法 看到B站有个up主说的五步法挺好的,在这里总结一下: 第一步:确定状态转移方程 状态转移方程是描述子问题之间关系的数学表达式。它表示当前状态如何通过一系列决策转移到下一个状态。对于每个子问题,我们需要确定其状态转移方程,以便使用它来求解子问题。 第二步:根据状态转移方程求解子问题 在确定了状态转移方程之后,我们需要求解每个子问题以找到最优解。这一步通常涉及到迭代计算,即反复使用状态转移方程来计算每个子问题的最优解。 第三步:初始化动态规划表 动态规划表是一个二维数组,用于存储每个子问题的最优解。在初始化阶段,我们需要将动态规 ...
ar5iv油猴脚本备份
发表于2024-08-06
因为ar5iv是自适应系统主题的,但我希望看论文始终使用light主题而不是跟随系统设置,因此就通过JavaScript做一些后处理。之前一直用tampermonkey,中文叫篡改猴,也就是所谓的油猴插件去对网页做一些后处理。 但7月31日的时候发现不能用了,一开始还以为是ar5iv更新了,但F12找了发现原来的代码能用没问题。后来在控制台发现:Uncaught ReferenceError: MutationEvent is not defined,然后什么油猴脚本都用不了,才发现是油猴的问题。经Google查找到:Uncaught ReferenceError: MutationEvent is not defined,说是要启用chrome://flags/#mutation-events才行。但那是几个月前的问题了,应该有更加好的修复方式。 后面又看到: Throw error "Uncaught DOMException: Failed to execute 'createEvent' on 'Document': The provided event type ('Muta ...
终端关闭后继续执行命令的方法
发表于2024-07-26
在使用VSCode远程开发时,经常碰到有一些脚本要跑很长时间的情景,比如提交并跟踪MapReduce任务、训练模型、处理数据、网络IO等。这时候我们希望脚本自己在后台跑,但一个很头疼的问题是脚本跟终端挂在一起。一旦去吃饭电脑进入休眠模式,本地的VSCode很可能会断开和远程开发机的连接,进而导致终端自动退出。而之前说脚本是跑到终端上的,这就导致吃完饭回来发现脚本被终止的尴尬情况。 为了让脚本流畅的跑到后台,在这里盘点几种Linux系统下终端关闭后继续执行命令的方法。 1. 使用 nohup nohup (no hang up) 命令可以让你在关闭终端后继续执行命令,并将输出重定向到一个文件: 1nohup your_command & disown 优点: - 简单易用,只需在命令前加上 nohup 并在后面加上 &。 - 命令会继续运行,即使你退出终端。 缺点: - 输出会默认写入 nohup.out 文件,可能需要手动处理日志文件。如果你想输入到别的文件,使用">"指令重定向输出。 - 没有提供重新连接的功能,如果你想查看命令的执行情况,需要查看输出文件。 - ...
回溯法求解数独问题
发表于2024-07-08
引言 起因是在leetcode上看到了这题:36. 有效的数独,这题其实是判断数独的初始盘面是不是有效的,即初始数字是否满足行、列和小方块里都不重复的条件。可以通过一次遍历解决。 123456789101112131415161718192021222324252627282930313233class Solution: def isValidSudoku(self, board: List[List[str]]) -> bool: # 一次遍历 n = len(board) row_counter_list = [set() for _ in range(n)] col_counter_list = [set() for _ in range(n)] square_counter_list = [set() for _ in range(n)] for i in range(n): for j in range(n): num = bo ...
细节处见真章——LLM中的tokenizer
发表于2024-06-27
在大语言模型中,tokenizer(分词器)是一个非常关键的组件。它的主要功能是将输入的文本数据转换为模型能够处理的格式,通常是一个序列的token(标记)。具体来说,tokenizer将文本分割成较小的单位,通常是单词、子词或字符,这些单位称为token。 tokenizer的特征 tokenizer的作用非常直观,就是将文本分割成一系列token。好的tokenizer应该具备两个特征: 1. 高压缩率,以实现高效推理。 2. 适当大小的词汇表,以确保每个token都被充分训练,不会出现非常低频欠训练的token。 PS: 之前可能还有一个就是要保证覆盖,即减少训练时<UNK>标记出现的概率。但是现在基本使用BBPE编码技术,将文本处理为字节级别的序列。任何unicode字符都由1-4个字节构成,这意味着只要LLM词表覆盖了所有unicode的字节(只有2^8=256个),理论上任何unicode字符都不会被编码成<UNK>了。现代的LLM基本不存在未见词(Out-of-Vocabulary, OOV)的问题了。 鱼和熊掌不可兼得 这两个特征看似简单,但是二 ...
一道物理题
发表于2024-06-21
晚上刷短视频看到一个直播间在讨论一道物理题,频繁有人上麦下麦去提问和解答,把这道题分析得还是比较透彻了。这里记录一下他们思考的方式,可能之后能够用到。 问题描述 原题目是这样的: 整理一下已知条件:两面墙夹着四块砖,编号为1、2、3、4,并且每块砖的重力均为G(从这个符号分析应该是重力为G,而不是重量是G,两者相差一个重力常数g。为了方便分析,认为这里是重力G),整组砖处于静止状态。 问题是:2,3之间的摩擦力多大? 正常解法 如果不考虑很多条件,那就认为两面墙是相同的,然后4块砖是相同的。于是对4块砖整体受力分析,4块砖受向下的重力4G,那必须要有一个向上的大小为4G的力平衡掉重力,这样竖直方向上才能静止。那墙能提供的竖直方向上的力只能是摩擦力,两面墙一起提供了向上的合力为4G的摩擦力。 那又因为两面墙完全一样,所以每面墙应该是提供了向上的2G的摩擦力。 到这里对砖块1在垂直方向进行受力分析,向下受1G重力,向上受墙壁的2G摩擦力,那必然要受砖块2一个向下的大小为G的摩擦力才能平衡。由于力的作用是相互的,再对2在竖直方向进行受力分析,向下受1G重力,向上受砖块1的1G的摩擦力,这里 ...
VQAScore: 文生图评价新指标
发表于2024-06-16
参考论文: Evaluating Text-to-Visual Generation with Image-to-Text Generation VQAScore是一种用于评估文本到视觉生成(Text-to-Visual Generation)的新方法,它通过视觉问题回答(Visual Question Answering, VQA)模型来衡量生成图像与文本提示之间的对齐程度。 简介 在生成式AI领域,尽管取得了显著进展,但全面的评估依然充满挑战,主要因为缺乏有效的评估指标和标准化的基准测试。VQAScore的提出,旨在解决现有评估方法在处理涉及对象、属性和关系的复杂文本提示时的不足。 动机 目前存在的图文对齐程度评价指标都存在一些问题,文生图领域仍然缺乏很好地文本提示和图像之间对齐程度的指标。具体而言,CLIP-Score倾向于词袋模型,在“组合性”的提示上能力较弱,比如对于涉及多个对象关系、计数和逻辑推理问题上的度量能力不足。还有一类分治法,通过LLM分解提示,将复杂的提示分结成多个简单的模块化的提示,再通过调用VLM返回中间结果综合得到最终结果的方法,比如TIFA。然而,这种方法 ...
LoRA类的大模型微调方法
发表于2024-06-15
LoRA(Low-Rank Adaptation of Large Language Models)是一种参数高效微调(PEFT)方法,旨在解决微调大型语言模型时面临的挑战。LoRA通过在每个模型块内部加入可训练的层,从而显著减少需要微调的参数数量,并降低GPU内存需求。目前以经有研究者开发了几种LoRA变体来补足它的短板或者提高效率。此处主要盘点一下LoRA, QLoRA, VeRA和DoRA。 LoRA、QLoRA、VeRA和DoRA都是针对大型语言模型的微调(finetuning)方法,旨在提高模型在特定任务上的性能,同时减少计算和存储资源的需求。下面是对这四种方法的详细介绍以及它们之间的对比: LoRA (Low-Rank Adaptation) - 介绍: LoRA 通过在Transformer架构的每一层注入可训练的低秩分解矩阵来适应下游任务,同时冻结预训练模型权重,显著减少了可训练参数的数量。 - 优势: 与全参数微调相比,LoRA 减少了GPU内存需求,提高了训练吞吐量,并且在推理时不引入额外的延迟。 - 应用: LoRA 在多个模型(如RoBERTa、DeBERTa ...
发布python包
发表于2024-06-14
发布Python包到PyPI 发布Python包到PyPI是Python开发者分享自己代码的一种方式。最近写了个用LLM翻译arxiv论文的项目TransGPTex,第一次使用了python包的形式把这件事做了,而不是一个脚本。这样只要安装这个包,在任何目录都可以通过tgtex命令调用了,个人还是相当满意。 Python的强大之处在于其丰富的库,使用pip安装这些库非常方便。开发者可以将自己的代码打包成库,并上传到Python仓库供他人使用。这样在任何电脑上都可以通过pip install xxx迅速装好,很方便。 但之前没有发布包的经验,看了网上一篇很详细的教程:发布Python包到pypi之后弄好了。 在这里结合一下自身的感受,记录一下发布Python包到PyPI的详细步骤。 1. PyPI账号注册 到PyPI发布包首先需要有一个pypi的账号。 1.1 注册 访问PyPI官网进行注册。 1.2 开启两步验证 要上传自己的包,需要开启两步验证。那个什么USB验证好像要硬件的,我选了那个Time-based one-time password(也就是TOTP)认证。IOS好像可以用密 ...
123…6
avatar
LiSheng
也无风雨也无晴
文章
51
标签
71
分类
12
Follow Me
最新文章
从3篇论文回顾2024年基础大语言模型的进展2025-03-28
评估LLM之在24年的管理类联考逻辑选择题评估2025-01-27
在hexo博客中插入echarts图表2025-01-23
huggingface中Datasets模块的笔记2025-01-06
LLM评估2025-01-04
分类
  • Linux1
  • 刷题7
  • 工具使用1
  • 排序算法1
  • 数据结构3
  • 最优化理论1
  • 模式分类1
  • 深度学习7
标签
深度学习 高中物理 Python 自然语言处理 torchvision 学习率 echarts LoRA python包发布 模型评估 数据集构建 快速排序 最优化理论 笔试 说话人分类 回溯法 损失函数 二叉树 NLP tar word 多模态 逆波兰表达式 插入排序 综述 JavaScript python基础 数据结构 图文匹配度 后缀表达式 矩阵求导 tokenizer 编程题 git 参数高效微调 语音识别 双向注意力 字符串转数字 编程语言 LLM
归档
  • 三月 20251
  • 一月 20255
  • 九月 20246
  • 八月 20241
  • 七月 20242
  • 六月 20248
  • 十月 20233
  • 九月 20234
©2020 - 2025 By LiSheng
框架 Hexo|主题 Butterfly