学习记录
不当菜鸡的程序媛
你若盛开,清风自来
展开
-
彻底解决:One of the differentiated Tensors appears to not have been used in the graph. Set allow_unused=
上面报错是因为在手动求梯度的时候,网络里面有初始化后的权重,但是没有用到,所以就会显示为:在用该网络得到的loss与输入求Loss的时候就报改错。1. 首先对手动求梯度加上属性:allow_unused=True(这不能解决根本问题,只是为了找到错误)2. 使用key,value来迭代输出model.parameter中的哪个权重层是空tensor即可。几行代码,让你直接找到空的tensor(找到空的权重层),不用一个一个取分析网络了!对这个报错已经很多次了,可以说是相当熟练了。原创 2024-05-16 01:25:49 · 52 阅读 · 2 评论 -
Huggingface Evaluate包使用小坑
转载:Huggingface Evaluate包使用小坑_evaluate huggingface-CSDN博客转载 2024-05-14 15:58:13 · 3 阅读 · 0 评论 -
randperm函数打乱索引的用法
randperm,用于生成一个随机排列。这个函数可以被用于许多需要随机排列的情况,如数据集的划分、模型的训练等等。通过randperm函数,你可以得到一个随机的、不重复的排列。将一个向量a随机打乱。原创 2024-05-13 18:44:51 · 207 阅读 · 0 评论 -
bert 的MLM框架任务-梯度累积
【代码】bert 的MLM框架任务。原创 2024-05-12 22:50:54 · 261 阅读 · 0 评论 -
nonzero() 返回非0元素的索引
也可用作:(xx==103).nonzero() :返回xx列表中值为103的索引。注意,可以随机应变,但是返回的是。nonzero() 返回非0元素的索引。原创 2024-05-12 21:39:52 · 105 阅读 · 0 评论 -
pytorch版本的bert模型代码(MLM)
【代码】pytorch版本的bert模型代码(MLM)原创 2024-05-11 19:07:45 · 107 阅读 · 0 评论 -
bert 微调合集
暂时没有时间总结,先贴上几个还不错的帖子。原创 2024-05-05 10:41:13 · 318 阅读 · 0 评论 -
RuntimeError: CUDA error: misaligned addressCUDA kernel errors might be asynchronously reported at
把CUDA_LAUNCH_BLOCKING这个环境变量设置为1,1表示True,则会强制消除这种异步性。原创 2024-04-27 15:52:09 · 293 阅读 · 0 评论 -
nn.Embedding, nn.Parameter,nn.linear的区别
所以是nn.Embedding 包含nn.Parameter?原创 2024-04-23 14:59:08 · 155 阅读 · 0 评论 -
python enumerate用法总结
这种方法简单,但是可能比较慢,当。转载 2024-04-20 16:57:50 · 14 阅读 · 0 评论 -
将整数转化为tensor
该列表包含了从 0 到 19 的整数序列,但每个整数都被转换成了 PyTorch 的张量(Tensor)对象。:这是 Python 中的一个循环语句,它遍历了一个从 0 到 19 的整数序列。取值范围从 0 到 19,所以它会创建 20 个张量,每个张量包含一个整数值。:这是 PyTorch 库中的函数,用于将一个 Python 整数。转换成 PyTorch 张量对象。使用了 PyTorch 库创建了一个名为。都会创建一个张量,并将其添加到列表。原创 2024-04-20 16:26:54 · 184 阅读 · 1 评论 -
python基础-random中sample()函数的用法
(list, k)返回一个长度为k新列表,新列表存放list所产生k个随机唯一的元素。原创 2024-04-19 11:30:37 · 271 阅读 · 0 评论 -
Pytorch基础——torch.randperm
torch.randperm(n):将0~n-1(包括0和n-1)随机打乱后获得的数字序列,函数名是random permutation缩写。原文链接:https://blog.csdn.net/u012633319/article/details/109039499。转载 2024-04-18 23:11:19 · 23 阅读 · 0 评论 -
pytorch中detach(), clone()函数和requires_grad_(False)解释
这样就得到了 x 和 w 的梯度。detach(): 将当前 tensor 从计算图中分离出来,返回一个新的 tensor,新 tensor 的 requires_grad 属性会被设为 False。1、在使用 Tensor 进行运算时,可能会产生一些临时结果,这些结果并不需要用于梯度计算,因此需要将这些 tensor 分离出计算图,以减少计算开销和内存消耗。2、当需要对某些 tensor 进行修改,但不希望这些修改对之前的梯度计算产生影响时,可以使用 detach() 函数,以避免不必要的计算。转载 2024-04-17 11:23:00 · 42 阅读 · 0 评论 -
随机采样函数torch.randint()
使用 PyTorch 库生成一个包含随机整数的张量。函数生成一个张量,该张量的形状为。,其中每个元素是一个随机整数。原创 2024-04-17 11:15:15 · 186 阅读 · 0 评论 -
自回归模型
这些模型在每个时间步接受一个输入(通常是前一个时间步的输出或隐藏状态),然后产生一个输出和一个新的隐藏状态,该隐藏状态会传递到下一个时间步。自回归模型的一个重要特性是,由于其依赖于先前的输出,因此在训练时通常需要使用教师强制(teacher forcing)技术,即将真实的目标序列作为输入提供给模型,以便引导模型学习正确的输出序列。换句话说,模型在生成序列的过程中,每个时间步生成的值都依赖于前面时间步生成的值。这样的模型可以生成连贯的文本,因为每个词都是基于前文的上下文信息生成的。原创 2024-04-11 15:32:38 · 181 阅读 · 0 评论 -
多模态(clip/ALBEF)
1. clip的核心思想是通过。获得的编码向量在向量空间上。,将图片和文本通过各自的。原创 2024-04-09 08:18:36 · 168 阅读 · 0 评论 -
多模态text-image模型之LM loss (blip)
这两个方法构成了整个模型的前向传播过程和生成过程,分别用于模型的训练和推理。其实就是bert的MLM Loss。,用于解码图像和生成文本描述。原创 2024-04-08 14:02:38 · 450 阅读 · 0 评论 -
BLIP源码之(1)数据集预处理【仅考虑Image-Text Retrieval on COCO】
转载:笔记:BLIP源码之(1)数据集预处理【仅考虑Image-Text Retrieval on COCO】_blip源码复现-CSDN博客转载 2024-04-08 12:35:31 · 23 阅读 · 0 评论 -
vscode通过ssh连接远程服务器+免密登录(图文)
转载:vscode通过ssh连接远程服务器+免密登录(图文)_vscode ssh-CSDN博客转载 2024-04-07 22:14:56 · 48 阅读 · 0 评论 -
多模态text-image模型之ITC loss (blip)
【代码】多模态text-image模型之ITC loss (blip)原创 2024-04-07 20:32:14 · 163 阅读 · 0 评论 -
不同服务器之间迁移conda环境(复制环境)
将上一步生成的tar.gz文件放到目标服务器的conda环境下后,比如/home/.conda/envs/。步骤:(1)base环境下,进行安装conda-pack,conda install -c conda-forge conda-pack。(2)到目标服务器,将上一步导出的yml文件复制到该服务器下,conda env create -f environment.yml。步骤:(1)进入要导出的conda环境,conda env export > environment.yml。原创 2024-04-07 19:34:09 · 460 阅读 · 0 评论 -
图像检索Image Retrieval
图像检索(Image Retrieval)是指根据给定的查询图像,从图像数据库中检索出与查询图像相似的图像的任务。它通常用于在大规模图像数据库中快速有效地搜索和定位图像。图像检索可以应用于多种场景,包括图像搜索引擎、社交媒体内容管理、医学图像检索等。图像检索系统的性能通常通过检索准确率、检索速度等指标来评估。原创 2024-04-06 21:08:19 · 199 阅读 · 0 评论 -
十大Hugging Face 数据集列表
转载:作者:小牛翻译NiuTrans https://www.bilibili.com/read/cv22438042/ 出处:bilibili。转载 2024-04-04 22:52:36 · 29 阅读 · 0 评论 -
在ssh 工具 Linux screen会话中使用鼠标进行上下滚动
经过几次发现 除外,如果想要在Linux screen会话中使用鼠标进行上下滚动。必须首先进入该screen的回滚(scrollback模式)才能进行上下滚动。原创 2024-04-03 22:41:55 · 649 阅读 · 0 评论 -
安装transforers时报错:error: can‘t find Rust compiler
最后重新安装transformer。原创 2024-04-02 21:56:58 · 820 阅读 · 0 评论 -
random.shuffle()
函数时,会直接修改原始列表,而不会返回一个新的列表。这意味着在操作之后,原始列表的顺序会被打乱。原始列表的顺序会被打乱,而不会返回一个新的列表。原创 2024-03-27 22:19:26 · 234 阅读 · 0 评论 -
for x, x in train_loader与for batch_idx, (x, x) in enumerate(train_loader):迭代方式区别
综上所述,对于简单的图像和标签数据集,两种迭代方式并没有太大区别,你可以根据自己的喜好和习惯选择其中一种。如果不需要追踪迭代次数,直接使用。如果需要追踪迭代次数,可以使用。原创 2024-03-27 15:26:24 · 209 阅读 · 0 评论 -
AutoTokenizer.from_pretrained 与BertTokenizer.from_pretrained
都是 Hugging Face 的 Transformers 库中用于加载预训练模型的 tokenizer 的方法,但它们之间有一些区别。总的来说,如果你想要一个通用的方法来加载任何预训练模型的 tokenizer,你可以使用。但如果你确定你要加载的模型是基于 BERT 结构的,那么。也是一个不错的选择。原创 2024-03-23 23:00:03 · 714 阅读 · 0 评论 -
加载bert-base-uncased预训练模型
使用transformer加载预训练模型。原创 2024-03-18 15:00:41 · 554 阅读 · 0 评论 -
远程服务器使用tensorboard
转载;转载 2024-03-18 13:57:54 · 16 阅读 · 0 评论 -
pytorch之warm-up预热学习策略(学习率)
由于刚开始训练时,模型的权重(weights)是随机初始化的,此时若选择一个较大的学习率,可能带来模型的不稳定(振荡),选择Warmup预热学习率的方式,可以使得开始训练的几个epoches或者一些steps内学习率较小,在预热的小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后再选择预先设置的学习率进行训练,使得模型收敛速度变得更快,模型效果更佳。的学习率,训练了一些epoches或者steps(比如4个epoches,10000steps),再修改为预先设置的学习来进行训练。转载 2024-03-14 16:31:20 · 287 阅读 · 0 评论 -
通过loss曲线诊断神经网络模型
看loss曲线,如果train loss和val loss都还有下降空间,就继续加大epoch,如果基本平了,加大epoch用处也不大了,如果train loss降val loss降着降着上升了,这说明,模型在val loss由降转升的转折点就收敛了。转载 2024-03-04 18:48:36 · 87 阅读 · 0 评论 -
使用wandb可视化训练过程
转载:7.4 使用wandb可视化训练过程 — 深入浅出PyTorch (datawhalechina.github.io)转载 2024-02-28 13:49:47 · 51 阅读 · 0 评论 -
.norm() 范数
是默认计算A与B的第二范数,如果你想计算差向量的第一范数(也称为L1范数),可以在norm()方法中传递p=1参数,这样就会计算出L1范数。原创 2024-02-26 22:10:37 · 387 阅读 · 0 评论 -
Imagenet-A,Imagenet-C和ImageNet-O
ImageNet-O 包含来自在 ImageNet-1k 数据集中未发现的类别的图像。对ImageNet 1K添加了一些常见的图像损坏(如模糊和噪声),以评估分类器在面对这些损坏时的性能。这样的评估可以帮助研究人员更全面地了解模型的鲁棒性和泛化能力。该数据集包含 7,500 张经过对抗性过滤的图像,很容易导致机器学习模型的性能显著下降。mCE:用于评估模型在面对不同类型的图像扭曲、噪声或其他损坏时的鲁棒性。对于每个图像,通过对其应用一种或多种损坏类型生成扰动后的图像。计算每个扰动下的分类错误率。原创 2024-01-24 22:32:04 · 790 阅读 · 0 评论 -
Parquet格式文件读取
Parquet 文件以列格式存储,而不是像 CSV 这样的基于行的文件。大型数据集可能存储在 Parquet 文件中,因为它比返回查询更高效和更快。huggingface里面的数据集基本用。转载 2024-01-16 21:45:10 · 624 阅读 · 0 评论 -
Pytorch的默认初始化分布 nn.Embedding.weight初始化分布
如果不给weight赋值,Embedding类会自动给他初始化,看上述代码第6~8行,如果属性weight没有手动赋值,则会定义一个torch.nn.parameter.Parameter对象,然后对该对象进行reset_parameters(),看第21行,对self.weight先转为Tensor在对其进行normal_(0, 1)(调整为$N(0, 1)$正态分布)。,即均值$\mu=0$,方差$\sigma=1$的正态分布。可见,均值接近0,方差接近1,从这里也可以反映出。转载 2024-01-12 23:47:36 · 538 阅读 · 0 评论 -
checkpoint存的是参数还是模型?
在深度学习中,术语 "checkpoint" 通常用来指代在训练过程中保存的模型参数的一种形式。模型参数是深度学习模型中学到的权重和偏置等参数,它们定义了模型的状态。当你在训练深度学习模型时,你可能会定期保存模型的参数,以便在需要时能够恢复训练或者用于推断。这些保存的参数通常被称为 checkpoint。当你加载一个 checkpoint 时,你可以将这些参数设置到模型中,使模型恢复到之前保存的状态。一个 checkpoint 文件通常包含了模型中所有的。你的模型架构与保存时相同,以便能够正确地加载参数。原创 2024-01-12 22:52:49 · 636 阅读 · 0 评论 -
迁移学习是什么
hugging face中提供巨大的模型库,获得一个合适的模型后,往往需要针对具体任务的特定数据进行二次训练,这就是所谓的。原创 2024-01-07 10:55:27 · 372 阅读 · 0 评论