
学习记录
不当菜鸡的程序媛
你若盛开,清风自来
展开
-
球面线性插值(Slerp)
球面插值通常用于在球面上进行插值计算,常见的方法有球面线性插值(Slerp)和球面三角插值。下面介绍一种常用的球面插值方法——。原创 2025-03-24 10:08:48 · 311 阅读 · 0 评论 -
插值interpolation
结果很奇怪,我觉得就是单纯的像素点在做插值,所以不存在两张图片平滑过渡。1. 单纯对两张图片先做插值。原创 2025-03-21 11:39:43 · 124 阅读 · 0 评论 -
前向钩子forward hook的使用
【代码】前向钩子forward hook的使用。原创 2025-03-20 14:25:03 · 85 阅读 · 0 评论 -
论文Rebuttal
参考:CVPR2024 Rebuttal 收获 – 码途拾遗原创 2025-03-13 14:23:25 · 120 阅读 · 0 评论 -
OSS阿里云盘传数据
1. 安装:OSS命令安装请参考。命令验证是否安装成功。原创 2025-03-12 03:20:37 · 220 阅读 · 0 评论 -
ViT-Small与Vit-Base区别
隐藏层维度:384维(相较于ViT-Base的768维)Transformer块数:6个(相较于ViT-Base的12个)输出层:1000维,通常用于分类任务这些差异使得ViT-Small在计算和内存需求上更为轻量,但也可能导致其在某些复杂任务中的表现略逊色于ViT-Base。原创 2025-03-09 15:25:02 · 252 阅读 · 0 评论 -
自回归与自监督分别是什么,区别是什么
自回归专注于序列数据的逐步预测,而自监督学习通过自动生成标签进行预训练,适用于更广泛的任务。- **预训练与微调**:通常先在大规模数据上预训练,再在特定任务上微调。- **应用场景**:语言模型(如GPT)、时间序列预测、语音合成等。- **序列建模**:常用于处理时间序列或序列数据,如文本、语音等。- **逐步预测**:通过逐步生成序列中的每个元素来进行预测或生成。- **自动生成标签**:通过设计预训练任务,从数据中自动生成标签。- 自监督:通过设计任务从数据中生成标签,进行预训练。原创 2025-03-01 00:12:45 · 352 阅读 · 0 评论 -
程序一定要调入内存后才能运行吗
程序一定要调入内存后才能运行。这是因为内存(RAM)是计算机中的一种高速存储设备,用于存储程序运行时所需的数据和指令。CPU被设计为只能从内存中读取数据和指令,而不能直接从硬盘等辅助存储器中读取。因此,当你想运行一个程序时,操作系统会先将该程序从硬盘加载到内存中,然后CPU才能读取并执行内存中的指令。原创 2025-02-17 16:18:22 · 216 阅读 · 0 评论 -
cuML机器学习GPU库
转载:Linux下cuML库的安装与Jupyter集成调试教程-优快云博客原创 2025-02-15 20:31:38 · 148 阅读 · 0 评论 -
在Linux环境下修改Anaconda的默认虚拟环境安装位置
附:vim输入i进入编辑模式,输入esc退出编辑模式,输入 :wq 或者 :wq!原创 2025-02-03 18:11:11 · 484 阅读 · 0 评论 -
梯度param.grad is None与param.grad.norm() == 0
这是在检查参数是否根本没有梯度。通常情况下,这种情况会出现在模型的一些冻结层(即不进行梯度计算的层)或由于其他原因(例如没有传递梯度信息)导致的无梯度参数。将帮助你进一步明确梯度的具体情况。如果所有梯度都为零,建议检查模型的前向和反向传播逻辑,确保损失正确传递到各层并影响到每个参数的更新。),但是它的每个元素都是零。这种情况可能出现在一些特定的条件下,比如梯度计算过程中因数值问题出现了“梯度消失”。:这是在检查参数的梯度是否为零向量。原创 2024-11-12 10:24:44 · 279 阅读 · 0 评论 -
连通区域的scipy.ndimage.label 中的label
函数的主要作用是对输入的二进制图像(通常是布尔数组)进行连通区域标记。这个函数能够识别图像中相连的“真”区域,并为每个连通区域分配一个唯一的标签。下面是关于label函数的详细说明和使用示例。函数简介。原创 2024-11-06 02:06:08 · 530 阅读 · 0 评论 -
损失缩放(Loss Scaling)loss sacle
近期看代码的时候发现了loss_scale的参数,不知道为什么算loss还需要放缩,在参数说明中,当只有选择了fp16精度的选项时,loss_scale才有效。在交易系统中算钱的时候,规范的做法是把金额如1.01元*100之后再做计算,计算完之后再除以100,这样可以避免0.01无法用二进制精确表示造成的舍入误差。,防止因二进制表示误差导致的训练问题。的高值(如:65536.0000)通常是在启用混合精度训练(Automatic Mixed Precision, AMP)时发生的。度,减少显存需求空间。转载 2024-11-04 02:03:51 · 420 阅读 · 0 评论 -
报错:The detected CUDA version (11.8) mismatches the version that was used to compile PyTorch (12.1).
【代码】报错:The detected CUDA version (11.8) mismatches the version that was used to compile PyTorch (12.1).原创 2024-11-03 19:44:22 · 651 阅读 · 0 评论 -
timm的vit (vision transformer), swin Transformer源码仓库-无优化版
放一个github上的无优化版仓库,可以基于这个来魔改代码:swin transformer的官方代码:swin transformer的讲解可以看这里:原创 2024-11-03 01:29:37 · 462 阅读 · 0 评论 -
训练模型时梯度出现NAN或者INF(禁用amp的不同level)
首先来说可能得原因:1. 模型中存在未初始化或未更新的参数(层)2. 除以0或者log引起3.输入数据存在你nan或者inf4. 学习率过大造成梯度不稳定这里着重讲下第5点。因为debug了发现都不是1,2,3,4的问题所以最后调试问题出在数据类型上。PyTorch 默认使用的是 float32精度。这种精度在训练和推理过程中提供较好的数值稳定性,但相对占用更多显存和计算资源。原创 2024-10-29 21:59:05 · 1034 阅读 · 0 评论 -
打印checkpoint或者初始化的model代码
【代码】打印checkpoint或者初始化的model代码。原创 2024-10-20 21:18:13 · 132 阅读 · 0 评论 -
Linux下的常用命令
2. 查看该目录下所有文件占多大空间。1. 查看磁盘空间剩余容量情况。原创 2024-10-17 13:32:58 · 141 阅读 · 0 评论 -
混合专家模型(MoE)中的容量因子f
不过,需要注意的是,这里的“激活”并不意味着每个专家都完全独立地进行计算。此外,容量因子f的设置对MoE模型的性能和效率有重要影响。因此,在实际应用中,需要根据具体任务和数据集的特点来选择合适的容量因子f。当容量因子f为1.25时,这意味着在MoE层的每次迭代中,实际参与计算的专家数量是总专家数量的1.25倍。具体来说,容量因子f通常定义为MoE层中实际激活的专家数量与MoE层中总专家数量的比例。在混合专家模型(MoE)中,容量因子f是一个重要的参数,它用于。原创 2024-10-17 01:51:55 · 586 阅读 · 0 评论 -
自回归模型(Autoregressive Model,AR)
用历史的信息来预测自己。原创 2024-10-17 00:55:47 · 165 阅读 · 0 评论 -
huggingface的数据集下载(linux下clone)
3. git clone dataset包。原创 2024-10-16 13:02:01 · 626 阅读 · 0 评论 -
Linux 下screen 常用命令
screen -ls #查看已建的screen ID(保持只有一个xdd会话,多的话可能运行不正常,百度screen删除会话命令) screen -r xdd #连接已经创建的screen窗口 screen已经是后台,不需要-d,不需要nohup。先恢复没有则创建:screen -R name。指定作业离线:screen -d name。查看有多少会话:screen -ls。恢复:screen -r name。原创 2024-10-15 20:06:48 · 165 阅读 · 0 评论 -
linux查看某个文件夹的大小(ls命令、du命令详解)
查看当前目录总大小。原创 2024-10-13 19:35:32 · 1601 阅读 · 0 评论 -
关于VLM(vision-languag model)的文本和图像输入处理问题
这里是取文本token为6个,图像的token为36个,一共token的长度为42. 然后再一起cat输入到模型。原创 2024-10-12 19:28:28 · 309 阅读 · 1 评论 -
MOE并行策略的实现
在MOE并行策略中,每个MoE层包含多个专家,每个专家负责处理一部分输入数据。然后,根据输入数据的特征,选择相应的专家进行处理。自动分片技术则是MOE并行策略的另一个关键部分。自动分片技术可以根据输入数据的特征和模型的结构,动态地调整分片的数量和大小,从而实现高效的并行计算。条件计算是一种动态的计算方式,它可以根据输入数据的特征,选择性地执行模型中的一部分计算。在MOE并行策略中,条件计算用于选择相应的专家来处理输入数据。门控网络根据输入数据的特征,输出一个概率分布,该概率分布用于选择相应的专家。原创 2024-10-05 20:17:11 · 353 阅读 · 0 评论 -
半精度(FP16)和单精度(FP32)
总结来说,选择使用哪种精度取决于具体应用的需求,尤其是对计算精度和性能的平衡。原创 2024-10-03 18:57:58 · 2276 阅读 · 0 评论 -
vscode分布式训练debug
转载:vscode分布式训练debug_分布式ai vscode-优快云博客转载 2024-09-19 12:13:11 · 112 阅读 · 0 评论 -
胶囊网络 capsule network
万字胶囊网络超详细总结(原理加pytorch代码)_capsule networks代码-优快云博客 浅谈胶囊网络与动态路由算法 - 知乎 (zhihu.com)原创 2024-09-13 14:58:24 · 256 阅读 · 0 评论 -
MOE中的路由 Z-loss
路由 Z-loss是 MoE 模型中的一个辅助损失项,用于对过大的 logits 进行惩罚,防止数值溢出并提高模型的稳定性。通过抑制过大的 logits,Z-loss 可以帮助模型保持在一个稳定的数值范围内,从而提高训练和推理的数值稳定性。原创 2024-09-12 13:42:19 · 1309 阅读 · 0 评论 -
huggingface快速下载模型及其配置
2. 出现如下图的命令。大家知道,每次进huggingface里面一个个手动下载文件然后再上传到我们的服务器是很麻烦的。原创 2024-09-05 23:41:44 · 2040 阅读 · 0 评论 -
服务器/linux上登录huggingface网站
在服务器上使用 Hugging Face 的库时,如果需要访问私有模型或使用 Hugging Face 的 API,你可以通过命令来登录你的 Hugging Face 账户。原创 2024-09-05 23:12:33 · 5456 阅读 · 3 评论 -
信息熵|atttion矩阵的注意力熵
这个示例展示了如何通过注意力图计算显著区域的熵值,并以此作为损失函数的一部分来优化模型。高熵表示模型对多个区域的注意力分散,低熵则表示模型对少数区域的关注更集中。在实际应用中,目标是通过最小化熵来鼓励模型专注于特定的显著区域。原创 2024-09-04 21:44:28 · 1139 阅读 · 1 评论 -
信息熵 Information Entropy
不确定性:熵反映了一个随机变量的结果有多不确定。如果一个事件的结果是完全确定的(即只有一个可能的状态,概率为1),则熵为0,因为没有不确定性。如果每个事件的结果是完全随机的且所有结果的概率相等,则熵达到最大值。信息量:熵可以理解为获取一个随机变量的具体值所需要的平均信息量。随机变量的熵越大,意味着从中提取的信息量越多。简而言之,熵表示平均需要多少信息来准确描述这个系统。系统复杂性:在物理系统中,熵也可以表示系统的复杂性或混乱程度。原创 2024-09-03 20:57:29 · 571 阅读 · 0 评论 -
将传统ViT用于分割或检测任务
传统Vision Transformer (ViT) 模型主要用于图像分类任务,它的输出通常是图像的分类概率分布。x: 模型最终的输出是一个经过全连接层(self.head)处理后的向量,表示图像在预定类别中的概率分布(logits)。这个输出适用于图像分类任务。attn: 模型在最后一个Transformer块中计算的自注意力权重(self-attention weights)。这个输出可以用于可视化模型对输入图像各个部分的关注程度,但在一般的分类任务中,主要关注的是x部分的输出。原创 2024-09-02 16:34:02 · 1317 阅读 · 0 评论 -
Layer Normalization(层归一化)里的可学习的参数
因此,层归一化是包含可训练参数的,这些参数可以在模型训练过程中学习和更新。这一点与批量归一化(Batch Normalization)相似,后者同样使用了可训练的缩放和偏移参数,但归一化的范围和计算方式有所不同。在深度学习模型中,层归一化(Layer Normalization, 简称LN)是一种常用的技术,用于稳定和加速神经网络的训练。通过这些可训练的参数,层归一化不仅能帮助模型控制内部数据的分布,还能适应数据的具体特征,这对于模型的泛化能力和学习效率都是非常重要的。:这是层归一化中可训练的部分。原创 2024-08-29 21:26:57 · 804 阅读 · 0 评论 -
关于Pytorch 分布式训练local_rank的坑
的时候会发现他们在 argsparse 中添加了这样一个参数“--loacl_rank”,比如下面是Swin-Transformer官方训练源码中cmd参数声明的一个部分,可以看到第70行添加了一个"“--local_rank”。大概意思就是说,声明“--use_env”后,pytorch会将当前进程在本机上的rank添加到环境变量“LOCAL_RANK”中,而不再添加到args.local_rank。现在命令行参数“--loacl_rank”的问题解决了,还以一个问题,就是还有很多大佬的代码在。转载 2024-08-18 15:20:27 · 707 阅读 · 0 评论 -
网络安全: 模型的脆弱性,鲁棒性和隐私性
因此,在描述 Transformer 模型时,如果你要强调其在网络安全方面的保护能力,可以用“脆弱性、鲁棒性和隐私性”这三个特性来更准确地传达其安全方面的考量。:指保护模型或其训练数据免受信息泄露的能力。隐私性问题在联邦学习和其他分布式学习场景中特别重要,因模型参数的共享可能导致信息泄露。:指模型在某些情况下容易受到攻击或被利用的弱点。例如,模型可能对对抗性攻击或梯度泄露攻击敏感。:指模型抵御攻击和在恶劣环境下保持性能的能力。提高模型的鲁棒性是增强其抵御攻击能力的关键。原创 2024-08-16 22:31:39 · 493 阅读 · 0 评论 -
Interpret the Explained Variance in PCA
原文:What is the Explained Variance in PCA (Python Example) - JC Chouinard原创 2024-08-16 20:06:46 · 221 阅读 · 0 评论 -
freeze 冻结所有参数
【代码】freeze 冻结所有参数。原创 2024-08-15 20:20:43 · 149 阅读 · 0 评论 -
vscode的lanuch.json模板
【代码】vscode的lanuch.json模板。原创 2024-08-15 15:52:17 · 232 阅读 · 0 评论