- 博客(78)
- 收藏
- 关注
原创 transformers 的Trainer的用法
Trainer 自动处理以下任务:训练循环:自动实现 epoch 迭代、批次加载优化器&学习率调度:内置 AdamW 并支持自定义分布式训练:自动支持单机多卡(DataParallel/DistributedDataParallel)混合精度训练:通过 fp16=True 启用日志记录:集成 TensorBoard、Weights & Biases 等模型保存:定期保存检查点 + 最佳模型保存评估指标计算:自动计算验证集指标
2025-06-07 14:32:10
783
原创 vscode调试deepspeed的方法之一(无需调整脚本)
摘要:本文介绍在VSCode中调试DeepSpeed训练脚本的方法。首先需设置NCCL环境变量解决RTX 4000显卡兼容性问题,配置HF镜像源。调试步骤包括:1)创建launch.json调试配置文件;2)添加DeepSpeed调试配置,指定单GPU运行、程序路径和训练参数;3)设置关键环境变量如CUDA_VISIBLE_DEVICES=0强制单卡调试;4)启动调试会话。该方法通过VSCode集成终端实现DeepSpeed训练过程的断点调试,特别适合LLaVA等大模型训练场景。(149字)
2025-06-07 10:38:46
183
原创 deepseek问答记录:请讲解一下transformers.HfArgumentParser()
Hugging Face Transformers库中的HfArgumentParser是一个专为机器学习任务设计的命令行参数解析器,它通过dataclass简化了复杂参数的配置管理。该工具能够自动从数据类生成命令行参数,支持多来源解析(命令行、环境变量、配置文件),并与Transformers生态无缝集成。使用流程包括定义数据类、创建解析器、解析参数三个步骤。相比传统argparse,它具有代码简洁、类型安全、模块化强等优势,特别适合管理NLP任务中的模型、数据和训练参数,大幅提升了配置管理的效率和可靠性
2025-06-02 10:35:12
889
原创 deepseek问答:torch.full() 函数详解
摘要:torch.full()是PyTorch中用于创建指定形状且所有元素值相同的张量的核心函数。其参数包括大小、填充值、数据类型等,支持灵活控制张量属性。该函数在深度学习中有广泛应用,如初始化张量、创建掩码和特殊数据结构等。与torch.ones()、torch.zeros()等类似函数相比,它允许自定义填充值。使用时需注意数据类型推断、内存优化和梯度处理等细节。torch.full()比NumPy的np.full()更优化,支持GPU加速和自动微分,是PyTorch张量操作的重要工具。
2025-05-31 09:51:31
685
原创 deepseek问答记录:请讲解一下torch.full_like()
torch.full_like()是PyTorch中用于创建与输入张量形状相同但所有元素填充为指定值的函数。它继承输入张量的形状,允许通过参数控制数据类型、设备等属性。主要特点包括:形状继承性、全同填充、灵活的参数设置(如dtype、device)。与torch.full()等类似函数相比,它无需手动指定尺寸。典型应用包括初始化掩码、转换数据类型和准备梯度计算。使用时需注意数据类型兼容性和内存格式问题。该函数不修改原张量,总是返回新张量,适用于深度学习中的各种张量初始化场景。
2025-05-30 17:02:42
1058
原创 LLaVa官网文档翻译
LLaVa是一个开源的多模态聊天机器人,基于LlamA/Vicuna模型,通过GPT生成的多模态指令数据进行微调训练。该模型利用Transformer架构,在视觉指令调优方面取得突破性进展,仅使用120万公开数据就在11个基准测试中达到最优表现。LLaVa采用全连接的视觉-语言跨模态连接器,通过简单修改(如使用CLIP-ViT-L-336px和添加学术VQA数据)显著提升性能。模型支持批量生成计算(建议设置padding_side="left"),但处理多图像提示时可能不够准确。使用前需
2025-05-28 16:42:47
970
原创 deepseek问答记录:请讲解一下hugingface transformers中的AutoProcessor
Hugging Face Transformers库中的AutoProcessor是一个自动化工具,用于加载与预训练模型配套的处理器,简化了多模态模型(如文本、图像、音频)的预处理流程。它能够根据模型名称或路径自动推断并加载相应的处理器(如分词器、特征提取器等),支持多种输入类型,并兼容Hugging Face模型库中的各类模型。AutoProcessor通过from_pretrained()方法加载处理器,并使用__call__方法处理输入,返回适合模型推理的张量格式。其优势在于代码简洁、灵活性高,但需注
2025-05-16 19:36:28
539
原创 huggingface transformers中Dataset是一种什么数据类型
Hugging Face的datasets库中的Dataset对象是一个高效、灵活的数据容器,专为机器学习任务设计,尤其适用于自然语言处理。它基于Apache Arrow格式,支持内存映射和零拷贝读取,能够处理大型数据集。Dataset提供类字典接口,支持惰性操作与缓存,并能与深度学习框架无缝集成。通过load_dataset加载数据后,可以使用map方法进行预处理,并通过set_format转换为模型输入格式,直接用于训练。相比pandas.DataFrame和Python列表/字典,Dataset在内存
2025-05-13 22:08:07
500
原创 三、transformers基础组件之Model
Model Head是连接在模型后的层,通常为全连接层,用于将模型的编码表示映射到不同类型的任务。模型的加载可以通过在线或离线方式进行,在线加载使用AutoModel.from_pretrained方法,离线加载则需手动下载模型文件后从本地加载。加载模型时可以配置参数,通过model.config查看或设置。模型的调用需要先通过Tokenizer处理输入数据,返回的结果可以是列表或PyTorch张量,直接输入模型后得到编码结果。不带Model Head的模型调用仅返回编码结果,适用于特定任务的处理。
2025-05-12 19:42:08
819
原创 【DeepSeek问答记录】请结合实例,讲解一下pytorch的DataLoader的使用方法
PyTorch的DataLoader是处理批量数据、并行加载和自动打乱的核心工具。本文通过实例详细讲解了DataLoader的基础使用流程,包括自定义数据集类、创建DataLoader实例以及遍历数据。结合实际场景,展示了如何在图像分类任务中使用DataLoader加载CIFAR10数据集,并进行训练循环。文章还深入解析了关键参数如batch_size、shuffle、num_workers等,并提供了处理非对齐数据的自定义collate_fn方法。此外,还介绍了性能优化技巧,如预加载数据、多进程优化和混合
2025-05-12 17:45:13
469
原创 二、transformers基础组件之Tokenizer
在使用神经网络处理自然语言处理任务时,数据预处理是关键步骤,通常包括分词、构建词典、数据转换、数据填充与截断等步骤。借助transformers工具包中的Tokenizer模块,可以快速实现这些操作。Tokenizer能够将文本转换为神经网络可处理的数字序列,并支持加载、保存、分词、索引转换、填充与截断等功能。例如,通过AutoTokenizer可以加载预训练模型的分词器,并对文本进行分词、编码和解码。此外,Tokenizer还支持生成attention_mask和token_type_ids,以区分有效数
2025-05-11 21:41:52
807
原创 一、transformers基础组件之pipeline
Hugging Face Transformers库中的pipeline函数是一个高度封装的工具,旨在简化预训练模型的使用。它将数据预处理、模型调用和结果后处理整合为一个流水线,用户只需指定任务类型并输入文本,即可获得所需结果,真正做到开箱即用。pipeline支持多种任务类型,如音频分类、自动语音识别、文本分类、问答、翻译等。通过调用SUPPORTED_TASKS,可以查看所有支持的任务及其对应的模型和默认配置。这一功能极大地简化了代码,提升了开发效率。
2025-05-10 18:43:49
877
原创 pytorch中不同的mask方法:masked_fill, masked_select, masked_scatter
在 PyTorch 中,和是三种常用的掩码(mask)操作方法,它们通过布尔类型的掩码张量(mask)对原始张量进行条件筛选或修改。
2025-03-30 11:09:15
568
原创 huggingface datasets库中的load_dataset方法-------deepseek问答记录
传入本地数据集生成脚本的路径(需符合。
2025-03-24 19:11:18
1306
原创 python中的lambda表达式,python中的map和filter函数的用法-------deepseek问答记录
条件判断(返回两个数中的较大值)print(max_value(5, 8)) # 输出 8与普通函数的区别特性lambda 表达式普通函数 (def)名称匿名(无函数名)有函数名代码复杂度仅限单个表达式,无语句(如循环、赋值)可包含任意复杂代码块可读性适合简单逻辑适合复杂逻辑复用性通常一次性使用可重复调用注意事项避免滥用:复杂逻辑应使用def定义普通函数,保证代码可读性。变量作用域。
2025-03-24 17:04:49
624
原创 现代控制理论与传统的自动控制理论的内容的不同在哪里?模糊控制属于经典控制算法还是现代控制算法?------Deepseek问答记录
传统控制理论侧重于。
2025-03-24 09:47:43
798
原创 python中两个星号什么意思
场景作用a ** b幂运算(如2**3=8收集关键字参数为字典解包字典为关键字参数合并字典(Python 3.5+)注意:单个星号的用法(如解包列表、收集位置参数)与**不同,需区分。
2025-03-23 11:42:39
490
原创 Huggingface transformers库使用教程(翻译)--------微调预训练模型
使用预训练模型有许多显著的好处。它降低了计算成本,减少了碳排放,同时允许您使用最先进的模型,而无需从头开始训练一个。🤗 Transformers 提供了涉及各种任务的成千上万的预训练模型。当您使用预训练模型时,您需要在与任务相关的数据集上训练该模型。这种操作被称为微调,是一种非常强大的训练技术。
2025-03-05 16:32:00
1024
原创 Huggingface transformers库使用教程(翻译)--------预处理数据
在您可以在数据集上训练模型之前,。。🤗 Transformers 提供了一组预处理类来帮助准备数据以供模型使用。
2025-03-05 15:45:05
1164
原创 Huggingface transformers库使用教程(翻译)--------使用AutoClass加载预训练实例
由于存在许多不同的Transformer架构,因此为您的checkpoint创建一个可用架构可能会具有挑战性。通过AutoClass可以自动推断并从给定的checkpoint加载正确的架构, 这也是🤗 Transformers易于使用、简单且灵活核心规则的重要一部分。方法允许您快速加载任何架构的预训练模型,因此您不必花费时间和精力从头开始训练模型。
2025-03-05 11:33:21
942
原创 Huggingface transformers库使用教程(翻译)--------(2)使用piplines进行推理
虽然每个任务都有一个关联的pipeline(),但使用通用的抽象的pipeline()更加简单,其中包含所有特定任务的pipelines。以上代码会在提供的4个音频文件上运行pipeline,它会将它们以2个一组的批次传递给模型(模型在GPU上,此时批处理更有可能有所帮助),而您无需编写额外的代码。请注意,如果传递了 device_map=“auto”,在实例化您的 pipeline 时不需要添加 device=device 参数,否则可能会遇到一些意外的状况!将您的输入传递给pipeline()。
2025-03-05 11:09:05
1290
原创 Huggingface transformers库使用教程(翻译)--------GetStarted(1)
你可以修改模型的配置类来改变模型的构建方式。配置指明了模型的属性,比如隐藏层或者注意力头的数量。当你从自定义的配置类初始化模型时,你就开始自定义模型构建了。模型属性是随机初始化的,你需要先训练模型,然后才能得到有意义的结果。通过导入 AutoConfig 来开始,之后加载你想修改的预训练模型。查阅创建一个自定义结构指南获取更多关于构建自定义配置的信息。
2025-03-04 09:14:37
1036
原创 【deepseek-r1问答记录】transformers库如何加载预训练大模型,然后加载预训练的参数,然后修改其中的部分网络结构,然后重新训练,以qwen2-2B-VL为例
例如,如果用户想修改文本解码器的某一层,可能需要通过遍历模型的子模块并替换相应的层。此外,针对qwen2-2B-VL这个模型,可能需要特定的处理,比如视觉特征的提取部分如何与文本部分结合,是否需要调整图像处理的分辨率或通道数等。嗯,用户的问题是关于如何使用transformers库加载预训练的大模型,比如qwen2-2B-VL,然后加载预训练参数,修改部分网络结构,再进行重新训练。最后,提醒用户在实际操作中可能遇到的挑战,比如需要大量的计算资源,修改结构后模型性能的变化,以及如何调试和验证修改是否有效。
2025-03-03 14:03:15
960
原创 ollma有哪些命令------deepseek问答记录
查看完整的命令列表和详细说明。如果有特定需求(如自定义模型),可以参考官方文档或社区资源。Ollama 的命令设计简洁易用,涵盖了模型的下载、运行、管理、自定义等操作。Ollama 提供了一系列命令来管理和使用模型。
2025-02-18 09:18:20
874
原创 请解释一下Standford Alpaca格式、sharegpt数据格式-------deepseek问答记录
Stanford Alpaca 格式通过结构化的指令、输入和输出,简化了模型训练和评估,适用于多种NLP任务。
2025-02-17 20:28:14
720
原创 在conda虚拟环境中安装jupyter lab-----deepseek问答记录
通过以上步骤,你可以在 Conda 虚拟环境中成功安装并运行 Jupyter Lab。
2025-02-17 20:25:20
388
原创 在conda虚拟环境中安装jupyter lab-----deepseek问答记录
通过以上步骤,你可以在 Conda 虚拟环境中成功安装并运行 Jupyter Lab。
2025-02-17 11:30:31
462
原创 记录重要问题:unbuntu系统已经手动安装了cuda tookit,还需要conda install cudatookit 吗-----deepseek 问答
在 Ubuntu 系统中,如果你已经手动安装了 CUDA Toolkit(例如通过 NVIDIA 官方安装包或系统包管理器安装),是否还需要通过 Conda 安装。如果以上条件都满足,你可以直接使用系统安装的 CUDA Toolkit,而不需要通过 Conda 安装。取决于你的具体使用场景和需求。通过 Conda 安装。如果你满足以下条件,如果你遇到以下情况,
2025-02-17 09:39:16
996
原创 minimind2学习:(1)训练
经历了MiniMind-V1的低质量预训练数据,导致模型胡言乱语的教训,2025-02-05之后决定不再采用大规模无监督的数据集做预训练。进而尝试把匠数大模型数据集的中文部分提取出来,清洗出字符<512长度的大约1.6GB的语料直接拼接成预训练数据,hq即为high quality(当然也还不算high,提升数据质量无止尽)。文件数据格式为{"text": "如何才能摆脱拖延症?治愈拖延症并不容易,但以下建议可能有所帮助..."}
2025-02-13 11:50:45
482
原创 关于AutoTokenizer.from_pretrained-----deepseek的回答
是一个非常方便的工具,可以轻松加载和使用各种预训练模型的 tokenizer,适用于多种 NLP 任务。
2025-02-12 21:16:03
539
原创 【视频笔记】基于PyTorch从零构建多模态(视觉)大模型 by Umar Jamil【持续更新】
从头编写一个视觉语言模型:PloyGamma,是谷歌的一个模型1:原始图像2:视觉编码器(本文是viT),通过对比学习进行训练。这个对比学习最开始是CLIP,后来被谷歌改成了SigLIP3:线性投影层4:如何将图像tokens的嵌入与文本token的嵌入结合起来5:文本提示7:语言模型本身,基于transformer8:如何利用条件生成输出接下来的内容:2)对比学习(CLIP、SigLip)3)多模态语言模型(Gemma):如何把视觉和文本结合起来。
2024-12-30 21:19:41
874
原创 【论文翻译】Robotic-CLIP: Fine-tuning CLIP on Action Data for Robotic Applications
摘要——视觉语言模型在为各种机器人应用提取有意义的特征方面发挥了关键作用。其中,对比语言-图像预训练 (CLIP) 广泛应用于需要视觉和自然语言理解的机器人任务。然而,CLIP 仅在静态图像与文本提示配对的情况下进行训练,尚未完全适应涉及动态动作的机器人任务。在本文中,我们引入了 Robotic-CLIP 来增强机器人感知能力。我们首先收集并标记大规模动作数据,然后通过使用对比学习对 309,433 个动作数据视频(≈ 740 万帧)上的 CLIP 进行微调来构建我们的 Robotic-CLIP。
2024-10-18 09:44:06
924
原创 循环神经网络RNN时间序列预测与MLP比较
batch_first 为 True时output的tensor为(batch_size,seq_len,hidden_size),否则为(seq_len,batch_size,hidden_size)# 初始化隐藏状态和细胞状态# 计算输出和最终隐藏状态通过模型定义可以看出以下几点:(1)RNN不需要定义序列长度:RNN用于处理序列数据,但是在模型定义中并没有定义序列长度是多少。这一点和MLP不需要定义batch size是一样的,batch size和序列长度。
2024-08-23 17:58:16
1199
1
原创 Ubuntu22.04多CDUA切换设置
搭建深度学习环境的时候经常需要多CUDA的环境,对于ubuntu22.04来讲,高低版本切换:1)首先需要安装不同版本的CUDA和对应的CUDNN2)然后要做到不同版本的切换。
2024-06-29 13:20:23
750
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人