Qwen2.5 3B、7B、14B在文本按照规范进行标准化改写任务上的表现
任务介绍:军事杂志方向资料标准化改写任务
1. 任务目标
本任务的目标是对军事杂志领域的非标准化资料进行改写,确保其符合军事文献的写作规范和标准格式。通过改写,保留原文的核心内容和信息,同时提升语言的准确性、简洁性和专业性,使其符合军事杂志的标准要求。
2. 任务背景
军事杂志内容通常涉及军事战略、战术、武器装备、军事历史、军事技术等方面。由于涉及大量专业术语和复杂概念,原文往往在语言表达、术语使用和结构上存在不规范的情况。因此,进行标准化改写是确保文献质量和传播有效性的关键。
3. 任务内容
本任务主要包括对军事杂志资料的改写,内容涉及:
- 军事战略与战术分析
- 武器装备介绍
- 军事历史事件描述
- 军事技术与发展
对于每个输入文本,改写系统应进行以下操作:
- 语言规范化:调整口语化表达,确保使用军事领域标准术语,避免模糊不清的表述。
- 结构优化:重新组织段落结构,确保逻辑清晰,层次分明。
- 准确性提升:避免歧义,确保技术细节、历史事实等信息准确无误。
- 简洁性提高:去除冗余词汇,简化表达,使文章更加简洁易懂。
4. 任务要求
- 准确性:改写后的文本必须完全保留原文的军事技术、战术或战略等关键信息,不得遗漏或曲解。
- 标准化:改写后的文本要符合军事杂志的规范要求,使用行业标准的术语和表达方式。
- 清晰性:改写后的文本应具有高可读性,确保军事背景知识不熟悉的读者也能理解。
- 一致性:改写过程中要保证术语和风格的一致性,确保整篇文章语言流畅,表达统一。
- 简洁明了:去除过多复杂的句式或修饰,避免冗长的表述,使文章简洁而富有信息量。
5. 任务示例
原文(未规范化):
“为了应对未来复杂的战场环境,我军已经开始加强对无人机和高精度打击系统的研发。通过这些新技术的应用,我们能在很短的时间内摧毁敌方的指挥中心和重要设施,提升战斗力。”
改写(规范化):
“为应对未来战场的复杂性,我军已加大对无人机系统与高精度打击武器的研发力度。通过这些先进技术的部署,能够在短时间内精确打击敌方指挥中心及关键设施,显著提升作战能力。”
原文(未规范化):
“近几年随着战争形式的变化,我们越来越依赖信息化作战,尤其是在电子战方面,使用雷达和卫星技术对敌方目标进行打击。”
改写(规范化):
“近年来,随着作战模式的变化,我军在信息化战争中日益依赖电子战技术,尤其是在雷达与卫星系统的支持下,对敌方目标实施精准打击。”
6. 评估标准
任务的质量评估依据以下标准:
- 语言规范性:改写后的文本是否符合军事文献的专业写作规范,是否使用正确的军事术语。
- 信息准确性:改写后的文本是否准确传达了原文中的军事战略、技术和战术。
- 结构清晰性:文本的逻辑结构是否清晰,段落间的衔接是否自然。
- 简洁性和可读性:改写后的文本是否简洁,避免冗长和复杂的句子,使其易于理解。
- 一致性:术语和风格的统一性,确保整篇文章语言的统一性和一致性。
7. 应用场景
- 军事杂志出版:对军事杂志中的文章进行标准化改写,确保稿件符合出版要求。
- 军队内部文档:提升军事文档的专业性,确保传达的信息准确无误。
- 军事研究与分析报告:改写军事研究报告,确保其符合学术规范,适合公开发布或学术交流。
通过标准化改写,可以提高军事文献的质量,使其更易于理解,便于传递关键信息,并且保证准确性和一致性。
选择qwen2.5 3B Instruct 、qwen2.5 7B Instruct 模型进行微调
基于训练过程生成的的两个训练日志(Qwen2.5-7B 和 Qwen2.5-3B),我们可以形成一个初步的模型对比报告。由于日志信息有限,主要对比模型的配置和训练指标,更深入的性能比较需要更多数据,例如验证集损失、下游任务表现等。
模型对比报告
1. 概述
本报告对比了使用 LoRA 方法微调的 Qwen2.5 两个不同规模的模型:7B 和 3B。对比内容包括模型配置、训练指标等方面,旨在初步了解不同规模模型在训练过程中的差异。
2. 模型信息对比
特性 | Qwen2.5-7B-Instruct | Qwen2.5-3B-Instruct |
---|---|---|
参数量 | 70 亿 | 30 亿 |
隐藏层大小 | 3584 | 2048 |
隐藏层数量 | 28 | 36 |
注意力头数 | 28 | 16 |
键值头数 | 4 | 2 |
词汇表大小 | 152064 | 151936 |
tie_word_embeddings | false | true |
max_window_layers | 28 | 70 |
sliding_window | 131072 | 32768 |
关键差异:
- 参数量: 7B 模型参数量明显高于 3B 模型,理论上拥有更强的模型容量和学习能力。
- 隐藏层大小和数量、注意力头数: 这些参数都与模型的表达能力和计算复杂度相关。7B 模型拥有更大的隐藏层大小和更多的注意力头,意味着更强的表达能力,但也需要更多的计算资源。3B 模型虽然隐藏层数量更多,但整体参数量较小。
tie_word_embeddings
: 7B 模型该参数为false
,3B 模型为true
。该参数决定词嵌入层和输出层是否共享权重。共享权重可以减少参数数量,但可能对模型性能产生一定影响。max_window_layers
和sliding_window
: 这两个参数与模型的上下文窗口长度相关。7B 模型的sliding_window
更大,理论上可以处理更长的文本序列。max_window_layers
的意义需要结合具体实现的代码来理解,可能影响滑动窗口注意力机制的实现方式。
3. 训练配置对比
两个模型的训练配置基本一致,都使用了 LoRA 微调、bfloat16 精度、梯度检查点和 SDPA 优化。
特性 | Qwen2.5-7B-Instruct | Qwen2.5-3B-Instruct |
---|---|---|
微调方法 | LoRA | LoRA |
数据类型 | bfloat16 | bfloat16 |
梯度检查点 | 已启用 | 已启用 |
注意力机制优化 | torch SDPA | torch SDPA |
训练数据量 | 306 个样本 | 306 个样本 |
训练轮数 | 3 个 epoch | 3 个 epoch |
每设备批次大小 | 2 | 2 |
总训练批次大小 | 4 | 4 |
梯度累积步数 | 2 | 2 |
总优化步数 | 228 | 228 |
可训练参数数量 | 20,185,088 | 14,966,784 |
生成配置 | 相同 | 相同 |
4. 训练结果对比
指标 | Qwen2.5-7B-Instruct | Qwen2.5-3B-Instruct |
---|---|---|
训练时长 | 0:18:02.27 | 0:11:56.10 |
每秒训练样本数 | 0.848 | 1.282 |
每秒训练步数 | 0.211 | 0.318 |
最终训练损失 | 0.1969 | 0.2117 |
总浮点运算次数 | 124,334,934 GF | 48,917,188 GF |
关键差异:
- 训练时长和速度: 3B 模型的训练时长明显更短,训练速度更快,这符合参数量越小的模型训练速度越快的预期。
- 最终训练损失: 7B 模型的最终训练损失略低于 3B 模型,这可能表明 7B 模型在训练数据上拟合得更好。
- 总浮点运算次数: 7B 模型的浮点运算次数明显高于 3B 模型,这也符合参数量越大的模型计算量越大的预期。
5. 评估结果对比
指标 | Qwen2.5-7B-Instruct | Qwen2.5-3B-Instruct |
---|---|---|
评估样本数 | 34 | 34 |
评估批次大小 | 1 | 1 |
评估时长 | 0:00:10.89 | 0:00:06.95 |
评估损失 | 0.0545 | 0.0757 |
每秒评估样本数 | 3.121 | 4.887 |
每秒评估步数 | 3.121 | 4.887 |
关键差异:
- 评估时长和速度: 3B 模型的评估速度更快。
- 评估损失: 7B 模型的评估损失明显低于 3B 模型,这表明 7B 模型在评估数据上的表现更好,泛化能力可能更强。
6. 分析与总结
从训练日志来看,7B 模型在训练和评估阶段都表现出一定的优势,最终损失更低,这可能意味着更好的性能。3B 模型则在训练速度上更具优势,适合资源受限的场景。
重要提示:
- 数据量限制: 两个模型的训练数据量都非常小(306 个样本),这严重限制了模型的泛化能力。对比结果可能受到数据量的影响,不能完全代表模型在更大规模数据上的表现。
- 缺少关键评估指标: 日志中缺少验证集损失和其他下游任务的评估指标,无法进行更全面的性能比较。
- LoRA 的影响: LoRA 是一种参数高效的微调方法,只训练了模型的一小部分参数。这可能会影响模型的最终性能。
7. 后续工作建议
- 扩充数据集: 使用更大规模的数据集进行训练,这是提升模型性能最关键的因素。
- 添加验证集评估: 在训练过程中添加验证集评估,监控模型的训练状态,选择最佳模型迭代。
- 进行更全面的评估: 在各种下游任务上评估模型性能,并与其他模型进行比较。
- 探索不同的微调方法: 如果资源允许,可以尝试全参数微调或其他更先进的微调方法。
- 解决分词器警告: 确保模型保存和加载过程中分词器配置的正确性。
通过以上改进,可以更全面、更准确地比较不同规模的 Qwen2.5 模型,并选择最适合特定任务的模型。
Qwen2.5 14B 模型的配置信息以及之前的 7B 和 3B 模型的对比,我们可以进行更全面的对比分析。同时,结合我搜索到的关于 Qwen2.5 微调的一些常见问题,可以为您的模型训练提供更有针对性的建议。
模型对比分析(3B、7B、14B)
1. 模型信息对比
特性 | Qwen2.5-3B-Instruct | Qwen2.5-7B-Instruct | Qwen2.5-14B-Instruct |
---|---|---|---|
参数量 | 30 亿 | 70 亿 | 140 亿 |
隐藏层大小 | 2048 | 3584 | 5120 |
隐藏层数量 | 36 | 28 | 48 |
注意力头数 | 16 | 28 | 40 |
键值头数 | 2 | 4 | 8 |
词汇表大小 | 151936 | 152064 | 152064 |
tie_word_embeddings | true | false | false |
max_window_layers | 70 | 28 | 70 |
sliding_window | 32768 | 131072 | 131072 |
关键差异:
- 参数量: 模型规模呈指数级增长,从 3B 到 7B 再到 14B。更大的模型容量意味着更强的学习能力,但也需要更多的计算资源。
- 隐藏层大小、数量和注意力头数: 这些参数都显著增加,进一步增强了模型的表达能力。
tie_word_embeddings
: 只有 3B 模型使用了权重绑定,7B 和 14B 模型没有使用。sliding_window
: 7B 和 14B 模型的滑动窗口大小相同,都比 3B 模型大得多,这意味着它们可以处理更长的上下文。
2. 训练配置对比
三个模型的训练配置基本一致,都使用了 LoRA 微调、bfloat16 精度、梯度检查点和 SDPA 优化。训练数据量、epoch、批次大小、梯度累积步数和总优化步数也相同。这意味着对比的重点在于模型规模本身的影响。
特性 | Qwen2.5-3B-Instruct | Qwen2.5-7B-Instruct | Qwen2.5-14B-Instruct |
---|---|---|---|
微调方法 | LoRA | LoRA | LoRA |
数据类型 | bfloat16 | bfloat16 | bfloat16 |
梯度检查点 | 已启用 | 已启用 | 已启用 |
注意力机制优化 | torch SDPA | torch SDPA | torch SDPA |
训练数据量 | 306 个样本 | 306 个样本 | 306 个样本 |
训练轮数 | 3 个 epoch | 3 个 epoch | 3 个 epoch |
每设备批次大小 | 2 | 2 | 2 |
总训练批次大小 | 4 | 4 | 4 |
梯度累积步数 | 2 | 2 | 2 |
总优化步数 | 228 | 228 | 228 |
可训练参数数量 | 14,966,784 | 20,185,088 | 34,406,400 |
生成配置 | 相同 | 相同 | 相同 |
3. 训练结果对比
指标 | Qwen2.5-3B-Instruct | Qwen2.5-7B-Instruct | Qwen2.5-14B-Instruct |
---|---|---|---|
训练时长 | 0:11:56.10 | 0:18:02.27 | 0:41:34.50 |
每秒训练样本数 | 1.282 | 0.848 | 0.368 |
每秒训练步数 | 0.318 | 0.211 | 0.091 |
最终训练损失 | 0.2117 | 0.1969 | 0.1870 |
总浮点运算次数 | 48,917,188 GF | 124,334,934 GF | 245,939,088 GF |
关键差异:
- 训练时长和速度: 随着模型规模的增加,训练时长显著增加,训练速度明显下降。这是符合预期的,因为更大的模型需要更多的计算资源和时间。
- 最终训练损失: 最终训练损失随着模型规模的增加而略微下降,这表明更大的模型可能在训练数据上拟合得更好。
4. 评估结果对比
指标 | Qwen2.5-3B-Instruct | Qwen2.5-7B-Instruct | Qwen2.5-14B-Instruct |
---|---|---|---|
评估样本数 | 34 | 34 | 34 |
评估批次大小 | 1 | 1 | 1 |
评估时长 | 0:00:06.95 | 0:00:10.89 | 0:00:22.44 |
评估损失 | 0.0757 | 0.0545 | 0.0538 |
每秒评估样本数 | 4.887 | 3.121 | 1.515 |
每秒评估步数 | 4.887 | 3.121 | 1.515 |
关键差异:
- 评估时长和速度: 评估速度也随着模型规模的增加而下降。
- 评估损失: 评估损失随着模型规模的增加而显著下降,这表明更大的模型在评估数据上的表现更好,泛化能力可能更强。
5. 分析与总结
- 模型规模的影响: 总体来看,更大的模型(14B > 7B > 3B)在训练和评估阶段都表现出更优的性能(更低的损失),但同时也需要更多的计算资源和时间。
- 数据量限制: 仍然需要强调的是,训练数据量非常小,这严重限制了模型的泛化能力。对比结果可能受到数据量的影响,不能完全代表模型在更大规模数据上的表现。
- LoRA 的影响: 虽然 LoRA 是一种高效的微调方法,但它只更新了模型的一小部分参数,这可能会限制模型性能的提升。
6. 针对 Qwen2.5 微调的常见问题及建议
根据我搜索到的信息,Qwen2.5 在微调时容易出现重复生成的问题。这可能与以下因素有关:
- 训练数据分布: 如果训练数据中存在大量的重复文本或模式,模型就容易学习到这些重复的模式,从而导致生成重复的内容。
- 学习率: 过高的学习率可能导致模型在训练过程中不稳定,从而产生重复生成的问题。
- 训练配置: 一些特定的训练配置,例如解码策略、惩罚重复生成的参数等,也可能影响生成结果。
针对这些问题,我提出以下建议:
- 数据清洗和去重: 仔细检查训练数据,去除重复的文本和模式,确保数据分布的均衡性。
- 调整学习率: 尝试使用更小的学习率,或者使用学习率预热和衰减策略,以提高训练的稳定性。
- 调整解码策略: 尝试不同的解码策略,例如束搜索、Top-k 采样、Top-p 采样等,并调整相关参数,例如
相关文章:

Qwen2.5 3B、7B、14B在文本按照规范进行标准化改写任务上的表现
任务介绍:军事杂志方向资料标准化改写任务 1. 任务目标 本任务的目标是对军事杂志领域的非标准化资料进行改写,确保其符合军事文献的写作规范和标准格式。通过改写,保留原文的核心内容和信息,同时提升语言的准确性、简洁性和专业…...

Oracle报错ORA-01078、LRM-00109
虚拟机异常关机后,rac数据库备机无法启动数据库,报错如下 解决方法: 找到如下路径文件 执行: cp init.ora.016202516818 /u01/app/oracle/product/19.3.0/db/dbs/ mv init.ora.016202516818 initplm2.ora 再次进入命令行sqlpl…...

免费为企业IT规划WSUS:Windows Server 更新服务 (WSUS) 之快速入门教程(一)
哈喽大家好,欢迎来到虚拟化时代君(XNHCYL),收不到通知请将我点击星标!“ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…...

Titans 架构中的记忆整合:Memory as a Context;Gated Memory;Memory as a Layer
Titans 架构中的记忆整合 Titans 架构中的记忆整合 Memory as a Context(MAC)变体:在处理长序列数据时,将序列分段,对于当前段 S ( t ) S^{(t)}...

无缝过渡:将 Ansys 子结构模型转换为 Nastran
了解如何将 Ansys 子结构模型无缝转换为 Nastran,以满足有效载荷动态模型要求 Ansys 子结构模型的优势 Ansys 子结构模型为从事大型装配体结构分析和仿真的工程师和分析师提供了多项优势。 这些模型通过将复杂结构划分为更小、更易于管理的子结构,可以…...

小哆啦的跳跃挑战:能否突破迷宫的极限?
小哆啦开始力扣每日一题的第六天 https://leetcode.cn/problems/jump-game/description/ 小哆啦的跳跃挑战:能否突破迷宫的极限? 第一阶段:小哆啦的初次尝试 —— 盲目跳跃 小哆啦刚进入跳跃之城,他决定采用一种非常直接的方法来…...

KubeSphere部署安装,接入KubeKey安装的k8s集群
KubeSphere安装接入KubeKey安装的k8s集群 文章目录 KubeSphere安装接入KubeKey安装的k8s集群 一.NFS安装配置1.服务器安装NFS服务2.下载并部署 NFS Subdir External Provisioner1).下载部署文件2).创建 NameSpace3).创建 RBAC 资源4).配置 deployment.yaml5).部署 Storage Clas…...

Object常用的方法及开发中的使用场景
在前端开发中,Object 对象提供了许多常用的方法,这些方法帮助我们操作对象的属性和结构。以下是常用的 Object 方法及其功能简要说明: 对象常用的方法 1. 创建对象 Object.create(proto[, propertiesObject]) 创建一个具有指定原型对象和属性…...

SQL2000在win10上安装的方法
安装前最好先关闭防火墙和一些杀毒软件,因为这些软件在安装过程中可能会碰到注册表等一下杀毒软件比较敏感的地带,如果违反杀毒软件的规则会被当做病毒强行终止删除 首相找到C盘下window文件中的sysWOW64文件 鼠标右键,点击属性、安全、高级 …...

Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 模态对话框 非模态对话框 文件对话框 基本概念 静态函数 常见属性 颜色对话框 基本概念 静态函数 常见属性 字体对话框 基本概念 静态函数 常见属性 输入对话框 基本概念 …...

Java语言的数据结构
Java语言中的数据结构 引言 在计算机科学中,数据结构是指一种特定的方式来组织和存储数据,以便能够高效地进行访问和修改。Java作为一种广泛使用的编程语言,其内置的数据结构和集合框架为程序员提供了便利的工具来管理数据。本文将深入探讨…...

【12】Word:张老师学术论文❗
目录 题目 NO2 NO3 NO4 NO5 NO6 NO7.8 题目 NO2 布局→页面设置→纸张:A4→页边距:上下左右边距→文档网格:只指定行网格→版式:页眉和页脚:页脚距边界:1.4cm居中设置论文页码:插入…...

大疆最新款无人机发布,可照亮百米之外目标
近日,DJI 大疆发布全新小型智能多光旗舰 DJI Matrice 4 系列,包含 Matrice 4T 和 Matrice 4E 两款机型。DJI Matrice 4E 价格为27888 元起,DJI Matrice 4T价格为38888元起。 图片来源:大疆官网 DJI Matrice 4E DJI Matrice 4T D…...

《小迪安全》学习笔记05
目录 读取: 写入: (其中的读取和写入时我认为比较重要的,所以单独做成了目录,这里的读取和写入是指在进行sql注入的时候与本地文件进行的交互) 好久没发博客了。。。从这篇开始的小迪安全学习笔记就开始…...

56_多级缓存实现
1.查询Tomcat 拿到商品id后,本应去缓存中查询商品信息,不过目前我们还未建立Nginx、Redis缓存。因此,这里我们先根据商品id去Tomcat查询商品信息。此时商品查询功能的架构如下图所示。 需要注意的是,我们的OpenResty是在虚拟机,Tomcat是在macOS系统(或Windows系统)上,…...

每日进步一点点(网安)
今日练习题目是PHP反序列化,也学习一下说明是序列化和反序列化 1.PHP序列化 序列化是指将数据结构或对象转换为可传输或可储存的格式的过程。这通常需要将数据转换为字节流或者其他编码格式,以便在不同系统和应用程序之间进行传输或存储 在PHP中&…...

宝塔php7.4安装报错,无法安装,php8以上可以安装,以下的不行,gd库什么的都正常
宝塔的依赖问题导致的问题,最后手动挂载后才解决。。。废了三天三夜终于搞好了。。。。无语~ 建议:不要一直升级宝塔版本,升级前备份或者开服务商的实例镜像,方便恢复,不然,可就GG了࿵…...

SDL2:PC端编译使用
SDL2:PC端编译使用 1. SDL2:PC端编译使用1.1 安装必要的依赖1.2 下载编译SDL21.3 SDL2使用示例:Audio1.4 运行示例程序 1. SDL2:PC端编译使用 1.1 安装必要的依赖 首先,确保安装了编译SDL2所需的依赖库: …...

Windows 蓝牙驱动开发-蓝牙设备栈
蓝牙设备栈 蓝牙驱动程序堆栈包含 Microsoft 为蓝牙协议提供支持的核心部分。 有了这个堆栈,已启用蓝牙的设备可以彼此定位并建立连接。 在此类连接中,设备可以通过各种应用程序交换数据并彼此交互。 下图显示了蓝牙驱动程序堆栈中的模块,以…...

docker一张图理解
1、push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明: –disable-content-trust : 忽略镜像的校验,默认开启 # 上传本地镜像myapache:v1到镜像仓库中。 docker push myapache:v1 1.2、search 从Docker Hub查找镜像。参数说明: –…...

RocketMQ、Kafka、RabbitMQ,如何选型?
如何根据应用场景选择合适的消息中间件? 分布式、微服务、高并发架构中,消息队列(Message Queue,简称MQ)扮演着至关重要的角色。 消息队列用于实现系统间的异步通信、解耦、削峰填谷等功能。 目前常见的MQ实现包括RabbitMQ、Rock…...

RabbitMQ故障全解析:消费、消息及日常报错处理与集群修复
文章目录 前言:1 消费慢2 消息丢失3 消息重复消费4 日常报错及解决4.1 报错“error in config file “/etc/rabbitmq/rabbitmq.config” (none): no ending found”4.2 生产者发送消息报错4.3 浏览器打开IP地址,无法访问 RabbitMQ(白屏没有结…...

无公网IP 实现外网访问本地 Docker 部署 Navidrome
Navidrome 是一款可以在 macOS、Linux、Windows以及 Docker 等平台上运行的跨平台开源音乐服务器应用,它支持传输常见的 MP3、FLAC、WAV等音频格式。允许用户通过 Web 界面或 API 进行音乐库的管理和访问。本文就介绍如何快速在 Linux 系统使用 Docker 进行本地部署…...

pnpm add 和 pnpm install 的区别?
文章目录 1. pnpm add2. pnpm install3. 总结应用场景示例 在使用 pnpm 管理项目依赖时, pnpm add 和 pnpm install 是两个常用的命令,但它们的功能和使用场景有所不同。以下是详细的解释: 1. pnpm add 功能:用于向项目的 pack…...

Linux:文件描述符fd、系统调用open
目录 一、文件基础认识 二、C语言操作文件的接口 1.> 和 >> 2.理解“当前路径” 三、相关系统调用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基础认识 文件 内容 属性。换句话说,如果在电脑上新建了一个空白文档࿰…...

CPU负载与CPU使用率之区别
在日常的性能测试与系统监控中,CPU负载和CPU使用率是两个常见的指标,它们经常被提及,但也经常被混淆。本文将为你深入解析两者的区别,以及它们各自的意义和应用场景,让你更清楚地掌握这些关键性能指标。 存储、内存和 …...

C++实现设计模式---外观模式 (Facade)
外观模式 (Facade) 外观模式 是一种结构型设计模式,为子系统中的一组接口提供一个一致的界面。外观模式定义了一个更高层次的接口,使得子系统更容易使用。 意图 简化复杂子系统的接口。为客户端提供一个统一的入口,屏蔽子系统的内部细节。 …...

仿射密码实验——Python实现(完整解析版)
文章目录 前言实验内容实验操作步骤1.编写主程序2.编写加密模块3.编写解密模块4.编写文件加解密模块 实验结果实验心得实验源码scirpt.pyusefile.py 前言 实验目的 1)初步了解古典密码 2)掌握仿射密码的实现 实验方法 根据下图仿射密码(变换…...

【Qt 常用控件】按钮类(QPushButton、QRadioButton、QCheckBox)
按钮控件继承自抽象类QAbstractButton。 抽象类不允许实例化对象,内部定义纯虚函数。只能通过子类继承,重写纯虚函数的方式使用。 1. QPushButton 1.1 QAbstractButton中和QPushButton相关的属性 text按钮显示文本icon按钮图标iconSize按钮图标尺寸s…...

Amazon Relational Database Service (RDS)
Amazon Relational Database Service (RDS) 是 AWS 提供的一项完全托管的关系数据库服务,旨在简化部署、管理和扩展关系型数据库应用程序。通过 RDS,用户可以使用多种流行的关系数据库引擎,如 MySQL、PostgreSQL、MariaDB、Oracle 和 Microso…...