【大模型基础_毛玉仁】2.5 基于 Decoder-only 架构的大语言模型 -- GPT和LLaMa模型介绍
更多内容:XiaoJ的知识星球
目录
- 2.5 基于 Decoder-only 架构的大语言模型
- 2.5.1 Decoder-only 架构
- 2.5.2 GPT 系列语言模型
- 1)初出茅庐:GPT-1 模型
- 2)小有所成:GPT-2 模型
- 3)崭露头角:GPT-3 模型
- 4)蓄势待发:InstructGPT 等模型
- 5)一鸣惊人:ChatGPT 以及 GPT-4 等模型
- 2.5.3 LLAMA 系列语言模型
- 1)LLaMA1 模型
- 2)LLaMA2 模型
- 3)LLaMA3 模型
- 4)LLaMA 衍生模型
.
2.5 基于 Decoder-only 架构的大语言模型
在开放式(Open-Ended)生成任务中,通常输入序列较为简单,甚至没有具体明确的输入,因此维持一个完整的编码器来处理这些输入并不是必要的。
对于这种任务,Encoder-Decoder 架构可能显得过于复杂且缺乏灵活性。在这种背景下,Decoder-only 架构表现得更为优异。
本节将对 Decoder-only 架构及其代表性模型进行介绍。
.
2.5.1 Decoder-only 架构
1)自回归方法:逐字生成文本,不仅保持了长文本的连贯性和内在一致性,而且在缺乏明确输入或者复杂输入的情况下,能够更自然、流畅地生成文本。
2)去除了编码器部分:使得模型更加轻量化,从而加快了训练和推理的速度。
.
GPT 系列是起步最早的 Decoder-only 架构,在性能上也成为了时代的标杆。但从第三代开始,GPT 系列逐渐走向了闭源。
而 LLaMA 系列虽然起步较晚, 但凭借着同样出色的性能以及始终坚持的开源道路,也在 Decoder-only 架构领域占据了一席之地。
接下来将对这两种系列的模型进行介绍。
.
2.5.2 GPT 系列语言模型
GPT(Generative Pre-trained Transformer):
-
GPT系列模型基于 Decoder-only 架构的大语言模型。
-
其演进历程可以划分为五个阶段,如下表所示。
表 2.3: GPT 系列模型参数和语料大小表。
| 模型 | 发布时间 | 参数量(亿) | 语料规模 |
|---|---|---|---|
| GPT-1 | 2018.06 | 1.17 | 约 5GB |
| GPT-2 | 2019.02 | 1.24 / 3.55 / 7.74 / 15 | 40GB |
| GPT-3 | 2020.05 | 1.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 1750 | 1TB |
| ChatGPT | 2022.11 | 未知 | 未知 |
| GPT-4 | 2023.03 | 未知 | 未知 |
| GPT-4o | 2024.05 | 未知 | 未知 |
GPT 系列模型参数规模与预训练语料规模呈现出激增的趋势。自 ChatGPT 版本起,GPT 系列模型转向了闭源模式,其具体的参数量和预训练数据集的详细信息已不再公开。
.
1)初出茅庐:GPT-1 模型
但当时所用的 RNN 模型无法很好解决长距离依赖问题,Transformer 的出现为这一问题提供了新的解决方案了。
GPT-1 开创了 Decoder-only 架构下,通过下一词预测解决无监督文本生成的先河,为自然语言处理领域带来了革命性的影响。
.
(1) GPT-1 模型结构
在模型架构方面,GPT-1 使用了 Transformer 架构中的 Decoder 部分:
-
省略了 Encoder 部分以及交叉注意力模块。
-
12 个解码块堆叠而成,每个解码块包含一个带掩码的自注意力模块和一个全连接前馈模块。
下图对比了 BERT-Base 以及 GPT-1 的模型结构。从图中可以看出:
-
GPT-1 在结构上与 BERT-Base 高度类似;
-
本质区别:BERT-Base 中的自注意力模块是双向的自注意力机制,而 GPT-1 中的自注意力模块则是带有掩码的单向自注意力机制。
图 2.13: BERT-Base 和 GPT-1 模型。

.
(2) GPT-1 预训练方法
GPT-1 使用小说数据集 BookCorpus 来进行预训练。
在预训练方法上,GPT-1 采用下一词预测任务。以自回归的方法不断完成下一词预测任务,模型可以有效地完成文本生成任务,如图所示。
图 2.14: GPT-1 语言建模预训练任务

这不仅提高了模型的泛化能力,而且减少了 对标注数据的依赖,为自然语言处理领域带来了新的研究方向和应用前景。
.
(3) GPT-1 下游任务
GPT-1模型预训练后有潜力但任务泛化受限,通常需有监督微调提升下游任务表现,微调用特定任务标注数据优化模型参数,输入输出为文本序列,需构建适配应用场景的微调策略。
-
文本分类:GPT-1 能够接收一段文本作为输入,并根据预定义的类别标签,如情感倾向(积极、消极或其他),对文本进行分类。这在情感分析、主题分类等场景中非常有用。
-
文本相似度评估:当需要衡量两段文本之间的相似性时,GPT-1 能够分析并量化它们的内容和语义相似度。这项功能在比较文档、搜索结果优化和推荐系统中尤为重要。
-
多项选择题解答:GPT-1 还可以处理多项选择问题。模型能够理解问题文本和选项内容,从给定的选项中识别并输出最合适的答案。
.
2)小有所成:GPT-2 模型
相较于 GPT-1,GPT-2 在模型规模和预训练样本的质量上都进行了显著的提升,显著增强了模型的任务泛化能力。
.
(1) GPT-2 模型结构
GPT-2 模型延续了 GPT-1 的 Decoder-only 架构,并在此基础上进一步加大了参数数量。GPT-2 一共发布了四个版本,分别是 GPT-2 Small、GPT-2 Medium、GPT-2 Large 以及 GPT-2 XL。
GPT-2 Small在模型规模上接近GPT-1及BERT-Base,GPT-2 Medium在模型规模上接近BERT-Large。
(2) GPT-2 预训练方法
在预训练中,GPT-2 继续采用下一词预测任务,但进一步提升了预训练数据的数量和质量。
通过使用 WebText 数据集进行预训练,GPT-2 的语言理解能力得到了显著增强,接触到了更多样化的语言使用场景,还学习到了更复杂的语言 表达方式。
.
(3) GPT-2 下游任务
GPT-2 的任务泛化能力得到了改善,在某些任务上可以不进行微调,直接进行零样本学习。这种能力大大增加了 GPT-2 在处理下游任务时的灵活性,降低了下游任务适配所需的成本。这为 Decoder-only 架构博得了更多关注。
.
3)崭露头角:GPT-3 模型
与前两代模型相比,GPT-3 在模型规模和预训练语料上进一步提升,并涌现出了优良的上下文学习(In-Context Learning, ICL)能力。
在上下文学习能力的加持下,GPT-3 可以在不进行微调的情况下,仅通过任务描述或少量示例即可完成多 样化的下游任务。
.
(1) GPT-3 模型架构
GPT-3在架构上继承并扩展前两代,增加解码块数量、隐藏层维度和自注意力头数量,参数量最高达1750亿,能捕获更细微复杂的语言模式,提升文本生成能力,且设计了多个不同参数规模版本以满足不同场景需求。
表 2.4: GPT-1 至 GPT-3 模型具体参数表。
| 模型版本 | 解码块数量 | 隐藏层维度 | 自注意力头数量 | 总参数量(亿) |
|---|---|---|---|---|
| GPT-1 | 12 | 768 | 12 | 1.17 |
| GPT-2 Small | 12 | 768 | 12 | 1.24 |
| GPT-2 Medium | 24 | 1024 | 16 | 3.55 |
| GPT-2 Large | 36 | 1280 | 20 | 7.74 |
| GPT-2 XL | 48 | 1600 | 36 | 15 |
| GPT-3 Small | 12 | 768 | 12 | 1.25 |
| GPT-3 Medium | 24 | 1024 | 16 | 3.5 |
| GPT-3 Large | 24 | 1536 | 16 | 7.62 |
| GPT-3 XL | 24 | 2048 | 24 | 13 |
| GPT-3 2.7B | 32 | 2560 | 32 | 27 |
| GPT-3 6.7B | 32 | 4096 | 32 | 67 |
| GPT-3 13B | 40 | 5120 | 40 | 130 |
| GPT-3 175B | 96 | 12288 | 96 | 1750 |
.
(2) GPT-3 预训练方法
延续了前两代的预训练方法,GPT-3 继续采用下一词预测作为预训练任务。
使用了更大规模和更多样化的互联网文本数据集,以确保数据的质量和多样性。基于这些数据,GPT-3 学习到了更加丰富和多元的语言知识和世界知识。
.
(3) GPT-3 下游任务
GPT-3 模型涌现出了良好的上下文学习能力,使其可以在无需微调的情况下,仅通过在输入文本中明确任务描述和提供少量示例,便能够执行多种下游任务。
上下文学习能力极大地增强了 GPT-3 的任务泛化能力,使其能够快速适应不同的应用场景。GPT-3 开始在文本生成、问答系统、语言翻译等众多自然语言处理任务中崭露头角。
.
4)蓄势待发:InstructGPT 等模型
在 GPT-3 的基础上,OpenAI 进一步推出了一系列衍生模型。这些模型在 GPT-3 网络结构之上通过特定的训练方法,各个“身怀绝技”。
其中,最具启发意义的是 InstructGPT,其也是 ChatGPT 的前身。它通过引入了人类反馈强化学习(Reinforcement Learning from Human Feedback, RLHF), 显著提升了模型对用户指令的响应能力。
人类反馈强化学习通过三个步骤提升模型输出质量:
-
(1)有监督微调:用“问题-人类回答”对微调大语言模型;
-
(2)训练奖励模型:生成多个候选输出,人工评估排名,训练奖励模型打分;
-
(3)强化学习微调:用奖励模型评分,通过强化学习调整模型参数,提升高质量输出概率。
图 2.15: 人类反馈强化学习(RLHF)过程

RLHF计算成本高,因奖励模型训练复杂且需多模型联合训练。
为解决此问题,2023年斯坦福大学提出直接偏好优化(Direct Preference Optimization, DPO)算法,直接利用人类偏好数据训练模型,省略构建奖励模型和应用强化学习步骤,简化流程,提高训练效率和模型稳定性,虽在处理复杂偏好时略逊于RLHF,但计算优势使其广泛应用。
.
5)一鸣惊人:ChatGPT 以及 GPT-4 等模型
ChatGPT(Chat Generative Pretrained Transformer):
以强大的对话能力展示了令人惊讶的智能,一度引发其是否可以通过“图灵测试”的讨论。
用户可以通过OpenAI提供的网页端或API轻松使用预训练后的ChatGPT模型,无需本地部署,标志着一种新的服务模式LLMaaS(LLM as a Service)的出现。
GPT-4:
2023年3月,OpenAI发布了GPT-4,它在理解复杂语境、捕捉语言细微差别、生成连贯文本等方面优于ChatGPT,还能更有效地处理数学问题和编程挑战,并且支持图文双模态,可在图像描述和视觉问答等领域应用。
GPT-4o:
2024年5月,OpenAI又推出了GPT-4o,它在GPT-4的基础上进一步提升了响应速度,降低了延迟,并增强了多模态处理能力和多语言支持能力。GPT-4o在客户支持、内容创作和数据分析等领域表现出色,标志着AIGC应用的成熟度不断提高。
.
2.5.3 LLAMA 系列语言模型
LLaMA(Large Language Model Meta AI)
-
LLaMA 借鉴了 GPT 系列的设计理念,同时在技术细节上进行了创新和优化。
-
LLaMA 与 GPT 区别:GPT升级主线聚焦于模型规模与预训练语料的同步提升,而 LLaMA 则在模型规模上保持相对稳定,更专注于提升预训练数据的规模。
当前,Meta AI 共推出三个版本的 LLaMA 模型。
表 2.5: LLaMA 系列模型参数和语料大小表
| 模型 | 发布时间 | 参数量(亿) | 语料规模 |
|---|---|---|---|
| LLAMA-1 | 2023.02 | 67/130/325/652 | 约 5TB |
| LLAMA-2 | 2023.07 | 70/130/340/700 | 约 7TB |
| LLAMA-3 | 2024.04 | 80/700 | 约 50TB |
.
1)LLaMA1 模型
LLaMA1是Meta AI于2023年2月推出的大语言模型,遵循“小模型 + 大数据”理念,利用大规模优质数据训练较小模型,以实现更快推理速度,适应计算资源有限场景。
.
(1)预训练数据:
LLaMA1的预训练数据来源广泛,包括Common Crawl、C4、Github、Wikipedia、Books、ArXiv和StackExchange等数据集。这些数据集涵盖了多种领域和类型。
(2)模型架构:
在模型架构方面,LLaMA1 采用了与 GPT 系列同样的网络架构。但是,其在 Transformer 原始词嵌入模块、注意力模块和全连接前馈模块上进行了优化。
-
词嵌入模块上:参考 GPTNeo 模型,使用旋转位置编码(Rotary Positional Embeddings, RoPE)增强了模型对序列顺序的理解。
-
注意力模块上:参考 PaLM 模型,将 Transformer 的 RELU 激活函数改为 SwiGLU 激活函数。这种激活函数的改进显著提高了模型的性能。
-
全连接前馈模块上:LLaMA1 借鉴 GPT-3 中的 Pre-Norm 层正则化策略,将正则化应用于自注意力和前馈网络的输入。
在注意力模块和全连接前馈模块上的改进,如图下所示。
图 2.16: LLaMA 解码块架构与标准 Transformer 解码器架构对比

.
2)LLaMA2 模型
秉承 “小模型 + 大数据”的设计理念,LLaMA2 在 LLaMA1 的基础上进一步优化和扩充 了训练数据
.
(1)预训练阶段
在预训练阶段之后,LLaMA2 采纳了人类反馈强化学习的方法,进一 步提升了模型的性能。
-
首先,使用大规模且公开的指令微调数据集对模型进行有监督的微调。
-
然后,训练 RLHF 奖励模型,并基于近似策略优化(Proximal Policy Optimization, PPO)以及拒绝采样(Rejection Sampling)进行强化学习对模型进行更新。
.
(2)模型架构上:
在模型架构上,LLaMA2 继承了 LLaMA1 的架构。LLaMA2推出了四个版本的模型:LLaMA2-7B、LLaMA2-13B、LLaMA2-34B、LLaMA2-70B。
其中,LLaMA2-34B和LLaMA2-70B引入了分组查询注意力(Grouped Query Attention, GQA)机制,键(key)以及值(value)不再与查询(query)一一对应,而是让一组查询共享相同的键和值,有效降低了内存占用和模型总参数量,从而提升了计算效率。
.
3)LLaMA3 模型
(1)预训练阶段
LLaMA3在训练数据规模、多语言支持、模型性能及训练策略上均有提升。其预训练语料达50TB,是LLaMA2的7倍,含丰富代码数据及超5%的涵盖30多种语言的非英文数据,提升了逻辑推理与跨语言处理能力。LLaMA3延续了LLaMA2的人类反馈强化学习策略,性能全面超越前代,如80亿参数版性能超LLaMA2的700亿参数版,700亿参数版在多项任务上超越GPT-4模型。
.
(2)模型架构上:
在模型架构上,LLaMA3 与前一代 LLaMA2 几乎完全相同,只是在分词(tokenizer)阶段字典长度扩大了三倍,极大提升了推理效率。
.
4)LLaMA 衍生模型
下面对三类主流的 LLaMA 衍生模型进行简要介绍。
(1)性能改进类模型:一些研究者专注于通过微调继续提升 LLaMA 模型性能。
-
Alpaca:基于 GPT-3.5 生成的指令遵循样例数据对 LLaMA1 进行微调, 以较小的模型规模实现了与 GPT-3.5 相媲美的性能。
-
Vicuna:利用 ShareGPT 平台上累积的日常对话数据微调 LLaMA1 模型,进一步提升了它的对话能力。
-
Guanaco:通过在微调 LLaMA1 的过程中引 入 QLoRA 技术,显著降低了微调的时间成本。
(2)垂域任务类模型:大量研究者们针对特定领域对 LLaMA 进行微调。
-
CodeLLaMA:在 LLaMA2 的基础上,利用大量公开代码数据进行微调,使其能更好地适应自动化代码生成、错误检测、以及代码优化等任务。
-
LawGPT:通过 30 万条法律问答对 LLaMA1 模型进行指令微调,显著增强了其对法律内容的处理能力。
-
GOAT:通过 Python 脚本生成的数学题库对 LLaMA1 模型进行微调,提高其解决各类数学题的准确率。
-
Cornucopia:利用金融问答数据进行微调,增强了金融问答的效果。
(3)多模态任务类模型:研究者们将 LLaMA 模型扩展到多模态任务上。
-
LLaVA:在 Vicuna 的基础上利用 CLIP 提取图像特征并利用一个线性投影层实现图片和文本之间的对齐。
-
MiniGPT4:在 Vicuna 的基础上使用 VIT-G/14 以及 Q-Former 作为图像编码器,并同样使用线性投影层来实现图片和文本之间的对齐,展现了多模态任务处理能力。
.
Decoder-only 架构的大语言模型小结:
基于Decoder-only架构的大语言模型,因卓越的生成能力,引领了生成式人工智能的发展。
表2.8显示,GPT和LLaMA系列模型的参数数量及预训练语料规模增长迅速。随着算力和数据资源的进一步丰富,这类模型将展现更强大的性能。
表 2.8: GPT 系列和 LLaMA 系列模型参数和语料大小表。
| 模型 | 发布时间 | 参数量(亿) | 语料规模 |
|---|---|---|---|
| GPT-1 | 2018.06 | 1.17 | 约 5GB |
| GPT-2 | 2019.02 | 1.24 / 3.55 / 7.74 / 15 | 40GB |
| GPT-3 | 2020.05 | 1.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 1750 | 1TB |
| ChatGPT | 2022.11 | 未知 | 未知 |
| GPT-4 | 2023.03 | 未知 | 未知 |
| GPT-4o | 2024.05 | 未知 | 未知 |
| LLAMA-1 | 2023.02 | 67 / 130 / 325 / 652 | 约 5TB |
| LLAMA-2 | 2023.07 | 70 / 130 / 340 / 700 | 约 7TB |
| LLAMA-3 | 2024.04 | 80 / 700 | 约 50TB |
.
其他参考:【大模型基础_毛玉仁】系列文章
声明:资源可能存在第三方来源,若有侵权请联系删除!
相关文章:
【大模型基础_毛玉仁】2.5 基于 Decoder-only 架构的大语言模型 -- GPT和LLaMa模型介绍
更多内容:XiaoJ的知识星球 目录 2.5 基于 Decoder-only 架构的大语言模型2.5.1 Decoder-only 架构2.5.2 GPT 系列语言模型1)初出茅庐:GPT-1 模型2)小有所成:GPT-2 模型3)崭露头角:GPT-3 模型4&a…...
如何解决ChatGPTplus/pro o1/o3模型无法识别图片或者文件,限制次数?
你是否遇到ChatGPTplus无法识别图片、或者无法识别文件,甚至回答很简短,o1不思考,GPT-4o不能联网、分析图片和处理文件!感觉非常敷衍。本文教你如何确定自己的账号是否被降智;教你如何降智的原因;教你解决降…...
go的gmp
参考链接:https://www.bilibili.com/video/BV19r4y1w7Nx Golang的GMP调度模型(协程调度器)是其并发编程的核心。GMP代表Goroutine、Machine和Processor三个关键组成部分。Goroutine是Go语言中的轻量级线程,Machine是操作系统的线程,Processor…...
Vue开发者工具(VueDevtools)下载与安装
一、这里采用极简插件 网址:chrome.zzzmh.cn/index#/inde… 输入 vue.js.devtools并访问 点击推荐下载 下载到本地解压缩 然后把这个文件移动到谷歌插件里面,开启开发者模式 点击详情,开启一些权限 写的一个demo,如果有vue代码的话,就会…...
【C++基础十】泛型编程(模板初阶)
【C基础十】泛型编程—模板 1.什么是模板2.函数模板的实例化:2.1隐式实例化2.2显示实例化 3.函数模板参数的匹配规则4.什么是类模板5.类模板的实例化6.声明和定义分离 1.什么是模板 void swap(int& a, int& b) {int tmp 0;tmp a;a b;b tmp; }void swap…...
【Linux】https 协议
目录 一、https 协议 二、加密和解密 (一)为什么需要加密与解密 (二)加密和解密的过程 (二)常见的加密方式 1、对称加密 2、非对称加密 3、数据摘要 4、数字签名 三、https 的加密方式 ÿ…...
新手村:数据预处理-特征缩放
新手村:数据预处理-特征缩放 特征缩放(Feature Scaling)是数据预处理中的一个重要步骤,特别是在应用某些机器学习算法时。特征缩放可以使不同尺度的特征具有相同的量级,从而提高模型训练的效率和性能。常见的特征缩放方…...
Xinference大模型配置介绍并通过git-lfs、hf-mirror安装
文章目录 一、Xinference开机服务systemd二、语言(LLM)模型2.1 配置介绍2.2 DeepSeek-R1-Distill-Qwen-32B(大杯)工具下载git-lfs(可以绕过Hugging Face) 2.3 DeepSeek-R1-Distill-Qwen-32B-Q4_K_M-GGUF&am…...
Python游戏开发自学指南:从入门到实践(第四天)
Python不仅适用于数据分析、Web开发和自动化脚本,还可以用于游戏开发!虽然Python不是传统意义上的游戏开发语言,但其简洁的语法和丰富的库使其成为初学者学习游戏开发的绝佳选择。本文将为你提供一份全面的Python游戏开发自学指南,…...
0x04.若依框架微服务开发(含AI模块运行)
微服务本地开发硬件资源有限,所以会将核心微服务组件先部署在服务器上比如:mysql,redis,注册中心Nacos,网关Gateway,认证中心Auth和upms模块以及低代码生成模块。 mysql、redis部署前篇已讲,这…...
判断是不是二叉搜索树(C++)
目录 1 问题描述 1.1 示例1 1.2 示例2 2 解题思路 3 代码实现 4 代码解析 4.1 中序遍历函数 inorder 4.2 主函数 isValidBST 初始化及中序遍历调用 4.3 检查数组中元素是否严格递增 4.4 返回验证结果 5 总结 1 问题描述 给定一个二叉树根节点,请你判断…...
Shell条件判断
一、使用if选择结构 if单分支的语法组成: if 条件测试;then 命令序列 fi if双分支的语法组成: if 条件测试;then 命令序列1 else 命令序列2 fi if多分支的语法组成: if 条…...
自动化爬虫drissionpage
自动化爬虫drissionpage官网 自动化测试框架:DrissionPage DrissionPage调用工具汇总 网络爬虫工具比较-DrissionPage、Selenium、Playwright...
Linux--gdb/cgdb
ok,我们今天学习gdb的安装和使用 调试器-gdb/cgdb使用 VS、VScode编写的代码一般都是release格式的,gdb 的格式一般是debug 换成debug模式命令 :-g gdb会记录最新的一条命令,直接回车就是默认执行该命令 一个调试周期下,断点…...
超精密工件小孔几何尺寸测量:自动化解决方案
下载链接:(最新版本)超精密工件小孔几何尺寸测量:自动化解决方案python脚本代码,可直接运行,内包含测试数据,亲测好用资源-CSDN文库 在现代制造业中,超精密工件的质量控制至关重要&a…...
Blender-MCP服务源码1-项目解读
Blender-MCP服务源码 有个大佬做了一个Blender-MCP源码,第一次提交代码是【2025年3月7号】今天是【2025年月15日】也就是刚过去一周的时间,所以想从0开始学习这个代码,了解一下大佬们的开发思路 1-核心知识点 1)第一版࿱…...
小程序配置
注册小程序账号和安装开发工具 参考文档:注册小程序账号和安装开发工具https://blog.csdn.net/aystl_gss/article/details/127878658 HBuilder新建项目 填写项目名称,选择UNI-APP,修改路径,点击创建 manifest.json 配置 需要分别…...
ngx_conf_read_token
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_read_token-CSDN博客 static ngx_int_t ngx_conf_read_token(ngx_conf_t *cf) {u_char *start, ch, *src, *dst;off_t file_size;size_t len;ssize_t n, size;ngx_uint_t found, need_space, last_space…...
esProc SPL vs DuckDB:多源数据处理谁更胜一筹?
DuckDB 和 esProc SPL 都支持多样数据源处理,这里比较一下两者的差异。 支持的数据源种类 DuckDB 支持的数据源类型覆盖了常见的文件格式(如 CSV、Parquet、JSON、Excel)、云存储(如 AWS S3、Azure Blob Storage)以及…...
基于Python的selenium入门超详细教程(第1章)--WebDriver API篇
学习路线 自动化测试介绍及学习路线-CSDN博客 自动化测试之Web自动化(基于pythonselenium)-CSDN博客 参照博文:selenium入门超详细教程——网页自动化操作-CSDN博客 目录 前言 一、WebDriver API介绍 1.1 什么是WebDriver? 1.2 工…...
每日Attention学习26——Dynamic Weighted Feature Fusion
模块出处 [ACM MM 23] [link] [code] Efficient Parallel Multi-Scale Detail and Semantic Encoding Network for Lightweight Semantic Segmentation 模块名称 Dynamic Weighted Feature Fusion (DWFF) 模块作用 双级特征融合 模块结构 模块思想 我们提出了 DWFF 策略&am…...
接上一篇,C++中,如何设计等价于Qt的信号与槽机制。
看下面例子: class FileManager : public QObject {Q_OBJECTpublic:FileManager(QObject* parent nullptr) : QObject(parent) {}void changeFileName(const QString& newName) {fileName newName;emit fileNameChanged(fileName);}signals:void fileNameChan…...
Spring(6)——Spring、Spring Boot 与 Spring MVC 的关系与区别
Spring、Spring Boot 与 Spring MVC 的关系与区别 1. 核心定位 Spring 定位:基础框架,提供 IoC(控制反转) 和 DI(依赖注入) 核心功能,管理对象生命周期及依赖关系。功能:支持事务管…...
安装baselines出现的环境配置问题
该错误通常是由于环境配置问题、依赖包缺失、权限不足等原因导致 1. 更新相关工具 pip install --upgrade pip setuptools 2. 检查并安装依赖 conda install setuptools pip wheel 出现新问题: 3.尝试使用 Conda 安装 conda install mpi4py 再尝试安装 baseli…...
【商城实战(38)】Spring Boot:从本地事务到分布式事务,商城数据一致性的守护之旅
【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配…...
当今前沿技术:人工智能与区块链的未来发展
在如今快速发展的科技时代,各种前沿技术正在改变的生活。人工智能AI)就是其中之一。它在医疗、金融、制造等多个领域发挥着巨大作用。AI可以分析数据,识别模式,还能辅助决策。比如,在医疗方面,AI帮助医生更…...
perl的package中“Subroutine new redefined”问题
我在一个脚本run_PMseq.V8.pl调用了一些.pm文件 $perl -c run_PMseq.V8.pl Subroutine new redefined at /mnt/lustre/user/wubin/01.Program/Scripts/01.script/GeneLab/PMSeq/package_V3/Add_mismatch.pm line 25. Subroutine generate_shell redefined at /mnt/lustre/use…...
markdown 转 word 工具 Pandoc
Pandoc是一个开源的文档转换工具,由John MacFarlane开发,旨在提供一个通用的文档转换解决方案。它支持多种输入和输出格式,能够高效地将不同格式的文档进行转换 功能 Pandoc支持以下格式之间的转换: **Markdown、reStruct…...
英语学习(GitHub学到的分享)
【英语语法:https://github.com/hzpt-inet-club/english-note】 【离谱的英语学习指南:https://github.com/byoungd/English-level-up-tips/tree/master】 【很喜欢文中的一句话:如果我轻轻松松的学习,生活的幸福指数会提高很多…...
【eNSP实战】三层交换机使用ACL实现网络安全
拓图 要求: vlan1可以访问Internetvlan2和vlan3不能访问Internet和vlan1vlan2和vlan3之间可以互相访问PC配置如图所示,这里不展示 LSW1接口vlan配置 vlan batch 10 20 30 # interface Vlanif1ip address 192.168.40.2 255.255.255.0 # interface Vla…...
