GenerationMixin概述
类
类名 | 简单说明 |
---|---|
GenerateDecoderOnlyOutput | 继承自 ModelOutput ,适用于非束搜索方法的解码器-only模型输出类。 |
GenerateEncoderDecoderOutput | 继承自 ModelOutput ,适用于非束搜索方法的编码器-解码器模型输出类。 |
GenerateBeamDecoderOnlyOutput | 继承自 ModelOutput ,适用于束搜索方法的解码器-only模型输出类。 |
GenerateBeamEncoderDecoderOutput | 继承自 ModelOutput ,适用于束搜索方法的编码器-解码器模型输出类。 |
GreedySearchDecoderOnlyOutput | 与 GenerateDecoderOnlyOutput 相同,保留用于向后兼容的别名。 |
ContrastiveSearchDecoderOnlyOutput | 与 GenerateDecoderOnlyOutput 相同,保留用于向后兼容的别名。 |
SampleDecoderOnlyOutput | 与 GenerateDecoderOnlyOutput 相同,保留用于向后兼容的别名。 |
GreedySearchEncoderDecoderOutput | 与 GenerateEncoderDecoderOutput 相同,保留用于向后兼容的别名。 |
ContrastiveSearchEncoderDecoderOutput | 与 GenerateEncoderDecoderOutput 相同,保留用于向后兼容的别名。 |
SampleEncoderDecoderOutput | 与 GenerateEncoderDecoderOutput 相同,保留用于向后兼容的别名。 |
BeamSearchDecoderOnlyOutput | 与 GenerateBeamDecoderOnlyOutput 相同,保留用于向后兼容的别名。 |
BeamSampleDecoderOnlyOutput | 与 GenerateBeamDecoderOnlyOutput 相同,保留用于向后兼容的别名。 |
BeamSearchEncoderDecoderOutput | 与 GenerateBeamEncoderDecoderOutput 相同,保留用于向后兼容的别名。 |
BeamSampleEncoderDecoderOutput | 与 GenerateBeamEncoderDecoderOutput 相同,保留用于向后兼容的别名。 |
GreedySearchOutput | GreedySearchEncoderDecoderOutput 和 GreedySearchDecoderOnlyOutput 的联合类型。 |
SampleOutput | SampleEncoderDecoderOutput 和 SampleDecoderOnlyOutput 的联合类型。 |
BeamSearchOutput | BeamSearchEncoderDecoderOutput 和 BeamSearchDecoderOnlyOutput 的联合类型。 |
BeamSampleOutput | BeamSampleEncoderDecoderOutput 和 BeamSampleDecoderOnlyOutput 的联合类型。 |
ContrastiveSearchOutput | ContrastiveSearchEncoderDecoderOutput 和 ContrastiveSearchDecoderOnlyOutput 的联合类型。 |
GenerateNonBeamOutput | GenerateDecoderOnlyOutput 和 GenerateEncoderDecoderOutput 的联合类型。 |
GenerateBeamOutput | GenerateBeamDecoderOnlyOutput 和 GenerateBeamEncoderDecoderOutput 的联合类型。 |
GenerateOutput | GenerateNonBeamOutput 和 GenerateBeamOutput 的联合类型。 |
GenerationMixin | 包含自动回归文本生成所有功能的类,可作为 PreTrainedModel 的 mixin 使用。 |
-
定义了多个数据类(
@dataclass
),这些类继承自ModelOutput
,用于表示生成模型在不同情况下的输出结果。
Python:@dataclass装饰器 -
定义了一些等价的类和类型简写(typing shortcuts),主要是为了兼容旧版本的代码,也方便在代码中进行类型提示。
重点解释以下三个类:
-
GenerateDecoderOnlyOutput
-
GenerateEncoderDecoderOutput
-
GenerateNonBeamOutput
1. GenerateDecoderOnlyOutput
描述:
GenerateDecoderOnlyOutput
是一个数据类,用于表示 仅解码器模型(decoder-only models) 在使用 非束搜索方法(non-beam methods) 进行生成时的输出结果。
主要用途:
此类主要用于像 GPT-2、GPT-3 等仅包含解码器的模型,当它们使用贪婪搜索(Greedy Search)、随机采样(Sampling)、对比搜索(Contrastive Search)等非束搜索方法进行文本生成时,封装和返回生成的结果。
2. GenerateEncoderDecoderOutput
描述:
GenerateEncoderDecoderOutput
是一个数据类,用于表示 编码器-解码器模型(encoder-decoder models) 在使用 非束搜索方法(non-beam methods) 进行生成时的输出结果。
主要用途:
此类主要用于像 BART、T5 等包含编码器和解码器的模型,当它们使用贪婪搜索、随机采样、对比搜索等非束搜索方法进行文本生成时,封装和返回生成的结果。
GenerateDecoderOnlyOutput
与 GenerateEncoderDecoderOutput
字段名 | GenerateDecoderOnlyOutput | GenerateEncoderDecoderOutput |
---|---|---|
sequences | 必填torch.LongTensor 形状:(batch_size, sequence_length) 生成的序列。 | 必填torch.LongTensor 形状:(batch_size * num_return_sequences, sequence_length) 生成的序列。 |
scores | 可选Optional[Tuple[torch.FloatTensor]] 当 output_scores=True 时返回。处理后的预测分数(每步)。 | 可选Optional[Tuple[torch.FloatTensor]] 同左。 |
logits | 可选Optional[Tuple[torch.FloatTensor]] 当 output_logits=True 时返回。未经处理的预测分数(每步)。 | 可选Optional[Tuple[torch.FloatTensor]] 同左。 |
attentions | 可选Optional[Tuple[Tuple[torch.FloatTensor]]] 当 output_attentions=True 时返回。解码器每层的注意力权重。 | 名称不同 在 GenerateEncoderDecoderOutput 中,该字段为 decoder_attentions 。 |
hidden_states | 可选Optional[Tuple[Tuple[torch.FloatTensor]]] 当 output_hidden_states=True 时返回。解码器每层的隐藏状态。 | 名称不同 在 GenerateEncoderDecoderOutput 中,该字段为 decoder_hidden_states 。 |
past_key_values | 可选Optional[Tuple[Tuple[Tuple[torch.FloatTensor]]]] 当 use_cache=True 时返回。模型的缓存状态。 | 可选Optional[Tuple[Tuple[Tuple[torch.FloatTensor]]]] 同左。 |
encoder_attentions | 无此字段 | 可选Optional[Tuple[torch.FloatTensor]] 当 output_attentions=True 时返回。编码器每层的注意力权重。 |
encoder_hidden_states | 无此字段 | 可选Optional[Tuple[torch.FloatTensor]] 当 output_hidden_states=True 时返回。编码器每层的隐藏状态。 |
decoder_attentions | 无此字段 对应于 attentions 字段。 | 可选Optional[Tuple[Tuple[torch.FloatTensor]]] 解码器每层的注意力权重。 |
decoder_hidden_states | 无此字段 对应于 hidden_states 字段。 | 可选Optional[Tuple[Tuple[torch.FloatTensor]]] 解码器每层的隐藏状态。 |
cross_attentions | 无此字段 | 可选Optional[Tuple[Tuple[torch.FloatTensor]]] 当 output_attentions=True 时返回。解码器每层的跨注意力权重。 |
字段详解
共有字段
-
sequences
- 描述:生成的序列。
- GenerateDecoderOnlyOutput:形状为
(batch_size, sequence_length)
。 - GenerateEncoderDecoderOutput:形状为
(batch_size * num_return_sequences, sequence_length)
。
-
scores
- 描述:处理后的预测分数(即在 SoftMax 之前的 logits),每步生成一个。
- 类型:
Optional[Tuple[torch.FloatTensor]]
。 - 返回条件:
output_scores=True
。
-
logits
- 描述:未经处理的预测分数(logits),每步生成一个。
- 类型:
Optional[Tuple[torch.FloatTensor]]
。 - 返回条件:
output_logits=True
。
-
past_key_values
- 描述:模型的缓存状态,用于加速解码。
- 类型:
Optional[Tuple[Tuple[Tuple[torch.FloatTensor]]]]
。 - 返回条件:
use_cache=True
。
仅在 GenerateDecoderOnlyOutput
中
-
attentions
- 描述:解码器的注意力权重。
- 类型:
Optional[Tuple[Tuple[torch.FloatTensor]]]
。 - 返回条件:
output_attentions=True
。
-
hidden_states
- 描述:解码器的隐藏状态。
- 类型:
Optional[Tuple[Tuple[torch.FloatTensor]]]
。 - 返回条件:
output_hidden_states=True
。
仅在 GenerateEncoderDecoderOutput
中
-
encoder_attentions
- 描述:编码器的注意力权重。
- 类型:
Optional[Tuple[torch.FloatTensor]]
。 - 返回条件:
output_attentions=True
。
-
encoder_hidden_states
- 描述:编码器的隐藏状态。
- 类型:
Optional[Tuple[torch.FloatTensor]]
。 - 返回条件:
output_hidden_states=True
。
-
decoder_attentions
- 描述:解码器的注意力权重(相当于
GenerateDecoderOnlyOutput
中的attentions
)。 - 类型:
Optional[Tuple[Tuple[torch.FloatTensor]]]
。 - 返回条件:
output_attentions=True
。
- 描述:解码器的注意力权重(相当于
-
decoder_hidden_states
- 描述:解码器的隐藏状态(相当于
GenerateDecoderOnlyOutput
中的hidden_states
)。 - 类型:
Optional[Tuple[Tuple[torch.FloatTensor]]]
。 - 返回条件:
output_hidden_states=True
。
- 描述:解码器的隐藏状态(相当于
-
cross_attentions
- 描述:解码器的跨注意力权重(解码器与编码器之间的注意力)。
- 类型:
Optional[Tuple[Tuple[torch.FloatTensor]]]
。 - 返回条件:
output_attentions=True
。
3. GenerateNonBeamOutput
描述:
GenerateNonBeamOutput
是一个类型别名,用于表示在使用 非束搜索方法(non-beam methods) 进行生成时,模型的输出结果。
定义:
GenerateNonBeamOutput = Union[GenerateDecoderOnlyOutput, GenerateEncoderDecoderOutput]
含义:
-
它可以是
GenerateDecoderOnlyOutput
类型,也可以是GenerateEncoderDecoderOutput
类型。 -
这个类型别名的存在,使得在处理非束搜索生成输出时,可以统一处理,不用区分模型是仅解码器模型还是编码器-解码器模型。
附加说明:
-
非束搜索方法(Non-beam methods):
指在生成文本时,不使用束搜索(Beam Search)算法的生成方法,例如贪婪搜索、随机采样、对比搜索等。这些方法通常速度更快,但可能生成的结果质量不如束搜索。
-
缓存机制(Past Key Values):
在生成长序列时,模型可以缓存之前计算的键和值,以避免重复计算,提高生成效率。缓存的内容和格式因模型而异。
GenerationMixin
以下是对 GenerationMixin
类中各个方法和属性的整理,包括分类和功能描述:
类别 | 名称 | 功能描述 |
---|---|---|
静态方法 | _expand_inputs_for_generation | 扩展输入以用于生成,将张量从 [batch_size, ...] 扩展为 [batch_size * expand_size, ...] 。 |
实例方法 | prepare_inputs_for_generation | 准备生成所需的模型输入,包括计算注意力掩码或根据缓存裁剪输入等操作。 |
实例方法 | _prepare_model_inputs | 提取用于生成的模型特定输入。 |
实例方法 | _maybe_initialize_input_ids_for_generation | 在必要时初始化用于生成的 input_ids 。 |
实例方法 | _prepare_attention_mask_for_generation | 为生成准备注意力掩码。 |
实例方法 | _prepare_encoder_decoder_kwargs_for_generation | 在生成期间为编码器-解码器模型准备 kwargs 。 |
实例方法 | _prepare_decoder_input_ids_for_generation | 为编码器-解码器模型准备用于生成的 decoder_input_ids 。 |
实例方法 | _update_model_kwargs_for_generation | 更新下一步生成所需的 model_kwargs 。 |
实例方法 | _reorder_cache | 重新排序缓存,需要在子类中实现,以适应 beam search 等方法。 |
实例方法 | _get_candidate_generator | 返回在辅助生成中使用的候选生成器。 |
实例方法 | _get_logits_processor | 返回一个 LogitsProcessorList ,其中包含所有用于修改分数的相关 LogitsProcessor 实例。 |
实例方法 | _get_stopping_criteria | 返回用于生成的 StoppingCriteriaList ,包括各种停止条件。 |
实例方法 | _merge_criteria_processor_list | 合并默认和自定义的 criteria 或 processor 列表。 |
实例方法 | compute_transition_scores | 根据生成的得分计算序列的转移得分。 |
实例方法 | _validate_model_class | 验证模型类是否兼容生成操作。 |
实例方法 | _validate_assistant | 验证辅助模型(如果提供)是否兼容和正确配置。 |
实例方法 | _validate_model_kwargs | 验证用于生成的 model_kwargs 参数。 |
实例方法 | _validate_generated_length | 执行与生成长度相关的验证,确保参数设置正确。 |
实例方法 | _prepare_generated_length | 在生成配置中准备最大和最小长度,避免参数冲突。 |
实例方法 | _prepare_generation_config | 准备基础的生成配置,并应用来自 kwargs 的任何选项。 |
实例方法 | _get_initial_cache_position | 计算预填充阶段的 cache_position 。 |
实例方法 | _get_cache | 根据参数为生成设置缓存。 |
实例方法 | _supports_default_dynamic_cache | 返回模型是否支持将 DynamicCache 实例作为 past_key_values 。 |
实例方法 | _prepare_cache_for_generation | 为生成准备缓存,并将其写入 model_kwargs 。 |
实例方法 | _supports_logits_to_keep | 返回模型是否支持 logits_to_keep 参数,用于节省内存。 |
实例方法 | _prepare_special_tokens | 为生成准备特殊的 tokens,如 bos_token_id 、eos_token_id 等。 |
实例方法 | generate | 为具有语言模型头的模型生成 token 序列,是生成过程的主要入口方法。 |
实例方法 | _has_unfinished_sequences | 检查设备中是否仍然存在未完成的序列,用于确定是否继续生成循环。 |
实例方法 | heal_tokens | 生成 token 序列,其中每个序列的尾部 token 替换为适当的扩展,用于修复不完整的 token。 |
实例方法 | _dola_decoding | 使用 DoLa 解码生成序列,一种改进生成质量的解码策略。 |
实例方法 | _contrastive_search | 使用对比搜索生成序列,旨在改善生成文本的质量和多样性。 |
实例方法 | _sample | 使用多项式采样生成序列,可以实现随机性和多样性。 |
实例方法 | _temporary_reorder_cache | 临时函数,用于处理不同类型的缓存重新排序。 |
实例方法 | _beam_search | 使用 beam search 解码生成序列,支持高质量的序列生成。 |
实例方法 | _group_beam_search | 使用分组 beam search 解码生成序列,引入多样性。 |
实例方法 | _constrained_beam_search | 使用受限 beam search 解码生成序列,支持强制包含特定词语等约束。 |
实例方法 | _assisted_decoding | 使用辅助解码生成序列,利用辅助模型加速和改善生成过程。 |
GenerationMixin中最核心的方法是generate方法,其它方法都是generate方法的辅助方法:
GenerationMixin:generate
相关文章:
GenerationMixin概述
类 类名简单说明GenerateDecoderOnlyOutput继承自 ModelOutput,适用于非束搜索方法的解码器-only模型输出类。GenerateEncoderDecoderOutput继承自 ModelOutput,适用于非束搜索方法的编码器-解码器模型输出类。GenerateBeamDecoderOnlyOutput继承自 Mod…...
文心快码制作微信小程序
AI时代来临,听说Baidu Comate也推出了自家的编程工具Zulu,可以从零到一帮你生成代码,趁着现在还免费,试试效果如何。这里以开发一个敲木鱼的微信小程序为例 一、需求分析 写小程序需求文档 首先,第一步我要准确描述…...
flutter provider状态管理使用
在 Flutter 中,Provider 是一个轻量级且易于使用的状态管理工具,它基于 InheritedWidget,并提供了一种高效的方式来管理和共享应用中的状态。相比其他复杂的状态管理方案(如 Bloc 或 Riverpod),Provider 更…...
C++——静态成员
目录 静态成员的定义 静态成员变量 编程示例 存在的意义 静态成员函数 类内声明 类外定义 编程示例 静态成员的定义 静态成员在C类中是一个重要的概念,它包括静态成员变量和静态成员函数。静态成员的特点和存在的意义如下: 静态成员变量 1…...
UDP学习笔记(四)UDP 为什么大小不能超过 64KB?
🌐 UDP 为什么大小不能超过 64KB?TCP 有这个限制吗? 在进行网络编程或者调试网络协议时,我们常常会看到一个说法: “UDP 最大只能发送 64KB 数据。” 这到底是怎么回事?这 64KB 是怎么来的?TCP…...
Linux中用gdb查看coredump文件
查看dump的命令: gdb 可执行文件 dump文件路径查看函数调用栈 (gdb)bt查看反汇编代码 (gdb)disassemble查看寄存器的值 (gdb)info all-registers如果通过上述简单命令无法排查,还是通过-g参数编译带符号表的可执行文件,再用gdb查看...
PyTorch 深度学习 || 7. Unet | Ch7.1 Unet 框架
1. Unet 框架...
LeetCode 热题 100 堆
215. 数组中的第K个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 **k** 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 …...
LeetCode栈 155. 最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int get…...
Linux系统03---文件操作时间编程
目录 文件操作 1.1 缓冲区 1.2 基于缓冲区的文件操作---高级 IO 1.3 基于非缓冲区的文件操作—低级 IO 1.3.1 文件描述符 int fd; 1.3.2 函数名:open() 1.3.3 函数名:close() 1.3.4 函数名:write() 1.3.5 函数名:read(…...
4月5日作业
需求: 1.按照图示的VLAN及IP地址需求,完成相关配置 2.要求SW 1为VLAN 2/3的主根及主网关 SW2为VLAN 20/30的主根及主网关,SW1和 SW2互为备份 3.可以使用super vlan 4.上层通过静态路由协议完成数据通信过程 5.AR1为企业出口路由器…...
新一代AI架构实践:数字大脑AI+智能调度MCP+领域执行APP的黄金金字塔体系
新一代AI架构实践:数字大脑智能调度领域执行的黄金金字塔体系 一、架构本质的三层穿透性认知 1.1 核心范式转变(CPS理论升级) 传统算法架构:数据驱动 → 特征工程 → 模型训练 → 业务应用 新一代AI架构:物理规律建…...
低代码开发:重塑软件开发的未来
在数字化转型的浪潮中,企业对软件开发的需求呈爆炸式增长。然而,传统软件开发模式面临着开发周期长、成本高、技术门槛高等诸多挑战。低代码开发平台(Low-Code Development Platform)应运而生,它通过可视化编程和拖拽式…...
小型园区网实验作业
拓扑搭建: 实验需求: 1、按照图示的VLAN及IP地址需求,完成相关配置 2、要求SW1为VLAN 2/3的主根及网关 SW2 为VLAN 20/30 的主根及主网关 SW1和SW2互为备份 3、可以使用super vlan 4、上层通过静态路由协议完成数据通信过程 5、A…...
Gateway 网关 快速开始
一、核心概念 路由(route) 路由是网关中最基础的部分,路由信息包括一个ID、一个目的URI、一组断言工厂、一组Filter组成。如果断言为真,则说明请求的 URL 和配置的路由匹配。 断言(predicates) 断言函数允许开发者去定义匹配 Http Request 中…...
C++中如何使用STL中的list定义一个双向链表,并且实现增、删、改、查操作
一、STL中的 list 是双向链表,但不是循环链表,通过指针访问结点数据,它的内存空间可以是不连续的,使用它能高效地进行各种操作。 二、代码 #include <bits/stdc.h> using namespace std;// 打印链表元素的函数 void print…...
shell脚本中捕获键盘中断信号trap
在 Shell 脚本中,可以通过 trap 命令捕获键盘中断信号(通常是 SIGINT,即 CtrlC)。以下是具体的实现方法: 1.使用 trap 捕获键盘中断信号 trap 命令用于捕获信号并执行相应的命令或函数。SIGINT(信号编号为 …...
让ChatGPT用DeepReaserch指导进行学术写作
目录 ChatGPT在学术论文写作中的作用与分阶段提示词指南 1.选题阶段(确定研究课题方向) 2.文献综述阶段(调研与综述已有研究) 3.研究设计阶段(设计研究方法与框架) 4.撰写正文阶段(撰写各部…...
Compose笔记(十四)--LazyColumn
这一节了解一下Compose中的LazyColumn,在Jetpack Compose 中,LazyColumn 是一个用于高效显示长列表或可滚动垂直布局的组件。它类似于传统 Android 开发中的 RecyclerView,但专为 Compose 的声明式 UI 框架设计,能够显著优化性能&…...
CNN-SE-Attention-ITCN多特征输入回归预测(Matlab完整源码和数据)
CNN-SE-Attention-ITCN多特征输入回归预测(Matlab完整源码和数据) 目录 CNN-SE-Attention-ITCN多特征输入回归预测(Matlab完整源码和数据)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.一种适合光伏功率回归预测的高创…...
Spring Data JPA中的List底层:深入解析ArrayList的奥秘!!!
🌟 Spring Data JPA中的List底层:深入解析ArrayList的奥秘 💡 你是否好奇过,为什么Spring Data JPA的查询方法返回的List<T>总是默认为ArrayList?本文将通过技术原理解析、验证实验和性能优化指南,为…...
redis高并发缓存架构与性能优化
Redlock实现原理 超过半数redis节点加锁成功才算成功加锁。 Redlock存在问题 如果主节点挂掉,还没有同步到从节点,重新选举出主节点,那加锁就没有加到这个新的主节点上。 如果增加redis主节点数,那么加锁的性能更差,要…...
解锁多邻国:全方位语言学习新体验
解锁多邻国:全方位语言学习新体验 在数字化学习浪潮中,多邻国(Duolingo)凭借独特优势,成为全球超 5 亿用户的语言学习首选。这款 2012 年诞生于美国匹兹堡的应用,2019 年进入中国市场后,…...
Docker部署SeraXNG接入dify报错解决
报错: 设置授权 配置凭据后,工作区中的所有成员都可以在编排应用程序时使用此工具。 SearXNG base URL* 如何获取 PluginInvokeError: {"args":{},"error_type":"ToolProviderCredentialValidationError","message&q…...
Zookeeper的作用详解
Zookeeper作为分布式协调服务,在分布式系统中承担核心协调角色,其作用可归纳为以下核心功能模块: 一、分布式协调与同步 分布式锁管理 提供独占锁和共享锁,通过创建临时顺序节点实现锁的公平竞争。例如,客户端在/distr…...
高频面试题(含笔试高频算法整理)基本总结回顾34
干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…...
Dify 与 n8n 对比分析:AI 应用开发与自动化工作流工具的深度比较
Dify 与 n8n 对比分析:AI 应用开发与自动化工作流工具的深度比较 摘要 本文对比分析了 Dify 和 n8n 两款工具的核心定位、功能特点、适用场景及技术门槛。Dify 专注于 AI 应用开发,适合快速搭建智能客服、知识库检索等场景;n8n 则定位于通用…...
Systemd构建容器化微服务集群管理系统
实训背景 你是一家云计算公司的 DevOps 工程师,需为某客户设计一套基于 Docker 的微服务集群管理系统,需求如下: 容器自启管理:确保三个服务(webapp、api、redis)在系统启动时自动运行。依赖顺序控制&…...
手搓多模态-04 归一化介绍
在机器学习中,归一化是一个非常重要的工具,它能帮助我们加速训练的速度。在我们前面的SiglipVisionTransformer 中,也有用到归一化层,如下代码所示: class SiglipVisionTransformer(nn.Module): ##视觉模型的第二层&am…...
nano 编辑器的使用
nano 编辑器的使用 1. 启动 nano2. 编辑文本3. 基本操作4. 保存和退出5. 其他常用快捷键6. 高级用法 nano 是一个简单易用的文本编辑器,适合初学者使用: 1. 启动 nano 在终端中输入 nano 命令,后面可以跟上你想要编辑的文件的名称。如果文件…...
如何搞定学习人工智能所需的数学?
一、明确AI所需的数学核心领域 AI的数学需求并非泛泛而谈,而是集中在几个核心领域。以下是按优先级排序的关键知识点: 线性代数 核心概念:向量、矩阵、特征值分解、奇异值分解(SVD)。应用场景:图像处理&a…...
TCP/IP五层协议
目录 1. 五层模型结构 2. 各层核心功能与协议 (1) 应用层(Application Layer) (2) 传输层(Transport Layer) (3) 网络层(Network Layer) (4) 数据链路层(Data Link Layer) (5…...
解决Opencv:TypeError: points is not a numerical tuple
最近刚开始学习Opencv,跟着b站阿婆主敲代码的时候,又又又又,又出现了bug,下面听我娓娓道来~~ --------------------------------------------------------------------------(手动分界线) 首先描述一下当时…...
LLM-大语言模型浅谈
目录 核心定义 典型代表 核心原理 用途 优势与局限 未来发展方向 LLM(Large Language Model)大语言模型,指通过海量文本数据训练 能够理解和生成人类语言的深度学习模型。 核心定义 一种基于深度神经网络(如Transformer架…...
LeetCode第132题_分割回文串II
LeetCode 第132题:分割回文串 II 题目描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 难度 困难 题目链接 点击在LeetCode中查看题目 示例 示例 1: 输入…...
【Leetcode 每日一题】368. 最大整除子集
问题背景 给你一个由 无重复 正整数组成的集合 n u m s nums nums,请你找出并返回其中最大的整除子集 a n s w e r answer answer,子集中每一元素对 ( a n s w e r [ i ] , a n s w e r [ j ] ) (answer[i], answer[j]) (answer[i],answer[j]) 都应当…...
python三大库之---pandas(二)
python三大库之—pandas(二) 文章目录 python三大库之---pandas(二)六,函数6.1、常用的统计学函数6.2重置索引 六,函数 6.1、常用的统计学函数 函数名称描述说明count()统计某个非空值的数量sum()求和mea…...
消防车调度问题:基于Matlab的优化求解
摘要 本文聚焦消防车调度问题,介绍如何将其转化为数学模型并利用Matlab进行求解。通过建立损失矩阵,以总损失最小为目标构建线性规划模型,并针对模型求解结果可能出现的不合理情况,增加消防车到达先后次序约束条件。 关键词&…...
批量将 Markdown 转换为 Word/PDF 等其它格式
在工作当中,我们经常会接触到 Markdown 格式的文档。这是一种非常方便我们做记录,做笔记的一种格式文档。现在很多互联网编辑器都是支持 Markdown 格式的,编辑起文章来更加的方便简介。有时候,我们会碰到需要将 Markdown 格式的文…...
C语言学习笔记-9
九、结构体 构造类型: 不是基本类型的数据结构也不是指针类型, 它是若干个相同或不同类型的数据构成的集合 结构体类型: 结构体是一种构造类型的数据结构,是一种或多种基本类型或构造类型的数据的集合。 1.结构体类型定义 定…...
LLM 部署(1)——LLM 部署框架对比
1 Ollama 一个专注于简化大型语言模型(LLM)在本地部署和运行的开源框架。 简化部署:Ollama使用Docker容器技术来简化LLM的部署过程 捆绑模型组件:Ollama将模型权重、配置和数据捆绑到一个包中,称为Modelfile…...
Qt坐标体系,控件坐标的设置
Qt窗口坐标体系---平面直角坐标系(笛卡尔坐标系) 以左上角为0,0坐标原点 给Qt的某个控件,设置位置,就需要指定坐标,对应这个控件来说,坐标系原点就是相对于父控件的 如: QPushButt…...
大数据系列之:Kerberos
大数据系列之:Kerberos 基本概念工作流程安全特性应用场景总结加密原理Kerberos认证流程更改您的密码授予账户访问权限票证管理Kerberos 票据属性使用 kinit 获取票据使用 klist 查看票据使用 kdestroy 销毁票据.k5identity 文件描述 Kerberos 是一种网络认证协议&a…...
【力扣hot100题】(059)单词搜索
这道题给我最大的启示就是不要什么时候都用哈希表,偶尔也要用用数组…… 是这样,一开始还沾沾自喜的以为知道了哈希表的自己一定可以比以前傻傻用数组的我要节省空间,结果发现哈希表不能存储pair用编号存储会时间超限用数组只需要7*7的空间。…...
Java全栈面试宝典:锁机制与Spring生命周期深度解析
目录 一、synchronized锁状态机全解析 🔥 问题5:synchronized四态转换与性能对比 锁状态转换流程图 锁特性对比表 CAS操作示例 二、ReentrantLock与synchronized深度对比 🔥 问题6:两大锁机制对比 核心差异矩阵 生产级Re…...
15分钟完成Odoo18.0安装与基本配置
序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo18发行已半年有余,不少企业也已上至生产环境进行使用了。今天我们来看看 Odoo18的安装。 本次安装我们介绍通过阿里云服务器安装Odoo18社区版。 1.服务器准备 1.1操作系统 操作系统使用ubuntu22.04ÿ…...
pom导包成功,但是就是无法使用相关类,同时报错:Library:Maven ‘xxx‘ has broken path
开发环境:Intellij 2023 一、问题记录 在maven工程的pom文件导入如下某一依赖(JGit)。没有显示导包的错误,同时在maven仓库里面找到对应的包是正常下载到相应jar的。 但是就是无法引入相关的类。打开Project Structure,在Dependencies中发现…...
Cocos Creator 进行 Web 发布后,目录结构解析
在使用 Cocos Creator 进行 Web 发布后,生成的目录结构通常包含以下内容,下面为你详细介绍: 1. index.html 这是 Web 项目的入口 HTML 文件,它会加载所需的 JavaScript 文件和资源,从而启动游戏或应用程序。示例代码…...
Linux-磁盘管理
文章目录 1、查看磁盘和文件(夹)使用情况2、磁盘分区1)查看分区情况2)MBR分区3)GPT分区 3、磁盘分区格式化4、磁盘挂载1)挂载2)卸载挂载点3)永久挂载 1、查看磁盘和文件(…...
P1149 [NOIP 2008 提高组] 火柴棒等式(DFS)
题目描述 给你 n 根火柴棍,你可以拼出多少个形如 ABC 的等式?等式中的 A、B、C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 0)。用火柴棍拼数字 0∼9 的拼法如图所示: 注意: 加号与等号…...