【大模型】深度解析 NLP 模型5大评估指标及 应用案例:从 BLEU、ROUGE、PPL 到METEOR、BERTScore

在自然语言处理(NLP)领域,无论是机器翻译、文本生成,还是问答系统开发,模型性能评估指标始终是开发者绕不开的工具。BLEU、ROUGE、PPL(困惑度)、METEOR 和 BERTScore 是五个最具代表性的指标,然而,它们的计算方式、优缺点和适用场景却大不相同。

本文将通过公式推导、代码实现、行业场景分析以及实践案例,深度解析这五大评估指标的特点和应用,帮助你在实际项目中合理选择适合的指标。


1. 引言:行业背景与问题引入

近年来,语言模型如 ChatGPT 和 BERT 已席卷 NLP 领域。然而,如何科学评估这些模型的性能,始终是一个关键问题。例如:

• OpenAI 使用 PPL 衡量 GPT 系列模型的生成流畅度。

机器翻译模型 通常以 BLEU 为优化目标。

文本摘要 和 问答生成 更偏好使用 ROUGE 评估覆盖内容。

核心问题:

1. 不同 NLP 任务适合哪些评估指标?

2. 这些指标在实际应用中是如何工作的?

接下来,我们将从 BLEU 到 BERTScore,深度解析五大指标的核心原理、计算方法及行业应用。


2. 深度解析五大指标

2.1 BLEU:翻译任务中的黄金标准

定义:

BLEU 是一种评估生成文本与参考文本相似性的指标,主要用于机器翻译任务。它通过计算生成文本与参考文本之间的 n-gram 匹配率 来衡量翻译质量。得分越高,生成的文本越接近参考文本。

公式推导:

BLEU 的计算包括以下步骤:

1. n-gram 精确率(Precision):统计候选文本中的 n-gram,与参考文本匹配的比例。

2. 加权几何平均(Weighted Geometric Mean)

  • • 计算不同长度的 n-gram 匹配率的加权几何平均,公式为:
  • • 通常  w_n  均为  \frac{1}{N} ,表示每种 n-gram 的权重相等。

3. 惩罚机制(BP, Brevity Penalty)

用于防止生成的文本长度明显短于参考文本时获得高分。公式如下:

4. 最终公式

综合上述步骤,BLEU 的计算公式为:

其中:

案例解析

假设:

候选文本:it is a nice day

参考文本:today is a nice day

步骤 1:计算 n-gram 匹配率

1. 1-gram 精确率:

• 候选文本的 1-grams 为:{it, is, a, nice, day}

• 参考文本的 1-grams 为:{today, is, a, nice, day}

• 匹配项:{is, a, nice, day}

• 匹配率:

2. 2-gram 精确率:

• 候选文本的 2-grams 为:{it is, is a, a nice, nice day}

• 参考文本的 2-grams 为:{today is, is a, a nice, nice day}

• 匹配项:{is a, a nice, nice day}

• 匹配率:

p_2 = \frac{3}{4}

3. 3-gram 精确率:

• 候选文本的 3-grams 为:{it is a, is a nice, a nice day}

• 参考文本的 3-grams 为:{today is a, is a nice, a nice day}

• 匹配项:{a nice day}

• 匹配率:

p_3 = \frac{1}{3}

4. 4-gram 精确率:

• 候选文本的 4-grams 为:{it is a nice, is a nice day}

• 参考文本的 4-grams 为:{today is a nice day}

• 匹配项:无

• 匹配率:

p_4 = 0

步骤 2:加权几何平均

• 取每种 n-gram 的匹配率的对数平均值:

ps: 默认是均匀平均,可以手动修改权重的。因此这里平均1/4

步骤 3:计算 BP

• 假设候选文本长度为  5 ,参考文本长度为  6 :

步骤 4:计算最终 BLEU 分数

最终 BLEU 分数(假设几何平均值为 0.55)为:

BLEU = 0.82 \cdot 0.55 \approx 0.45

实战代码

以下是用 Python 实现 BLEU 的完整示例:

# 导入 nltk 库中用于计算 BLEU 分数的两个函数:sentence_bleu 和 corpus_bleu
from nltk.translate.bleu_score import sentence_bleu, corpus_bleu# 示例句子
candidate = ['it', 'is', 'a', 'nice', 'day']  # 候选文本,通常由模型生成的句子分词后得到
reference = [['today', 'is', 'a', 'nice', 'day']]  # 参考文本,人工生成的正确句子,外层列表允许包含多个参考句# 计算单句 BLEU
# weights 指定使用的 n-gram 权重,默认是均匀分布 (0.25, 0.25, 0.25, 0.25) 对应 BLEU-1, BLEU-2, BLEU-3, BLEU-4
score = sentence_bleu(reference, candidate, weights=(0.25, 0.25, 0.25, 0.25))# 打印结果
# 输出的是单句 BLEU 分数,范围在 0 到 1 之间
print(f"Sentence BLEU Score: {score}")# 示例数据:多句子的 BLEU 计算
# candidates 是一个包含多个候选句的列表,每个句子都已经分词
candidates = [['it', 'is', 'a', 'nice', 'day'],  # 第一个候选句['what', 'a', 'great', 'day']     # 第二个候选句
]# references 是一个包含参考句子的列表,每个参考句子可以包含多个参考文本
references = [[['today', 'is', 'a', 'nice', 'day']],  # 第一个候选句对应的参考句子列表[['what', 'a', 'wonderful', 'day']]    # 第二个候选句对应的参考句子列表
]# 使用 corpus_bleu 计算整个语料库的 BLEU 分数
# 该函数会将多个候选句和对应的参考句作为整体进行评估
corpus_score = corpus_bleu(references, candidates)# 打印结果
# 输出的是语料库级别的 BLEU 分数,范围在 0 到 1 之间
print(f"Corpus BLEU Score: {corpus_score}")

输出: 

运行结果解释应用场景

单句 BLEU:

• 测试单个句子的生成质量。

多句 BLEU:

• 比较模型在整个数据集上的翻译或生成能力。

2.2 ROUGE:文本摘要的评估利器

ROUGE (Recall-Oriented Understudy for Gisting Evaluation) 详解

定义:

ROUGE是基于召回率的评估指标,特别适用于 文本摘要问答生成 和 机器翻译 等任务。其核心思想是通过对生成文本和参考文本的 n-gram 或 子序列 匹配程度进行评估。

常见变体

1. ROUGE-N:基于 n-gram 匹配的召回率。

核心:基于 n-gram 的匹配

什么意思?

• 将文本分成连续的 n 个单词的组合(称为 n-gram)。

**适用场景:**机器翻译、摘要生成等。

• 计算生成文本和参考文本之间 匹配的 n-gram 占参考文本所有 n-gram 的比例

示例

• 生成文本:it is a nice day

• 参考文本:today is a nice day

• 1-gram 匹配:{is, a, nice, day},召回率为 \frac{4}{5} 。

• 2-gram 匹配:{is a, a nice, nice day},召回率为 \frac{3}{4}

2. ROUGE-L:基于最长公共子序列(LCS)的匹配。

核心:基于最长公共子序列(LCS)

什么意思?

• 找出生成文本和参考文本之间的 最长连续子序列(Longest Common Subsequence, LCS)。

• 子序列可以跳过部分单词,但保持顺序。

特点:

• 能够捕捉生成文本与参考文本在 顺序和语义上的相似性

• 更适合自然语言任务,因为它允许跳跃。

• **适用场景:**自动摘要、对话生成等。

示例

• 生成文本:it is a nice day

• 参考文本:today is a nice day

• LCS 为 is a nice day,长度为 4。

• 参考文本长度为 5,召回率为  \frac{4}{5}

3. ROUGE-S:允许跳跃匹配的 n-gram。

核心:基于跳跃 n-gram 匹配(Skip-Bigram)

什么意思?

• 考虑生成文本和参考文本中 不连续但有顺序的单词对

Skip-Bigram 是指两个单词之间可以跳过其他单词,但顺序必须一致。

特点:

• 跳跃匹配可以捕捉生成文本与参考文本在 长距离依赖上的相似性

• 对单词顺序有一定要求,但允许灵活性。

• **适用场景:**多文档摘要、长文本生成等。

示例

• 生成文本:it is a nice day

• 参考文本:today is a nice day

• Skip-Bigram 匹配:{is nice, a day}。

4. ROUGE-W

核心:加权最长公共子序列

什么意思?

• 和 ROUGE-L 类似,但 更强调连续匹配的部分

• 给连续匹配的子序列更高的权重,以鼓励生成文本和参考文本在内容上更连贯。

特点:

• 更加重视生成文本的 连贯性 和 流畅性

• 连续匹配的权重越高,得分越高。

• **适用场景:**对流畅性要求高的任务,例如文档摘要。

案例解析

候选文本:it is a nice day

参考文本:today is a nice day

计算结果:

ROUGE-1(1-gram 匹配):召回率 =\frac{4}{5} 。

ROUGE-2(2-gram 匹配):召回率 =\frac{3}{4} 。

ROUGE-L(LCS 匹配):is a nice day,召回率 = \frac{4}{5}

实战代码

from rouge import Rouge  # 导入 ROUGE 库,用于计算文本的 ROUGE 指标。# 候选文本
candidate = "It is a nice day today"
# 候选文本是模型生成的文本(Candidate Text),用于与参考文本进行比较。# 参考文本
reference = "Today is a nice day"
# 参考文本是人工生成的标准答案(Reference Text),通常用作评估基准。# 初始化 ROUGE 计算器
rouge = Rouge()
# 创建一个 Rouge 对象,提供计算多种 ROUGE 指标的方法。# 计算 ROUGE 分数
scores = rouge.get_scores(candidate, reference)
# 调用 get_scores 方法,计算候选文本与参考文本之间的 ROUGE 分数。
# 返回值是一个字典,其中包含 ROUGE-1、ROUGE-2 和 ROUGE-L 的精确率(Precision)、召回率(Recall)和 F1 分数。# 打印结果
print("ROUGE-1:", scores[0]["rouge-1"])
# 打印 ROUGE-1 指标的得分。ROUGE-1 表示基于 1-gram(单词级别)的匹配。print("ROUGE-2:", scores[0]["rouge-2"])
# 打印 ROUGE-2 指标的得分。ROUGE-2 表示基于 2-gram(连续两个单词)的匹配。print("ROUGE-L:", scores[0]["rouge-l"])
# 打印 ROUGE-L 指标的得分。ROUGE-L 表示基于最长公共子序列(LCS)的匹配。

输出: 

 {
    "rouge-1": {"p": 0.8, "r": 0.6667, "f": 0.7273},
    "rouge-2": {"p": 0.75, "r": 0.6, "f": 0.6667},
    "rouge-l": {"p": 0.8333, "r": 0.6667, "f": 0.7407}
}

结果解释:

ROUGE-1:

精确率(p)= 0.8:候选文本的单词中有 80% 在参考文本中出现。

召回率(r)= 0.6667:参考文本的单词中有 66.67% 被候选文本覆盖。

F1 分数(f)= 0.7273:精确率和召回率的综合衡量值。

ROUGE-2:

精确率(p)= 0.75:候选文本的二元组中有 75% 在参考文本中匹配。

召回率(r)= 0.6:参考文本的二元组中有 60% 被候选文本覆盖。

F1 分数(f)= 0.6667:综合衡量候选文本与参考文本在短语级别的相似性。

ROUGE-L:

精确率(p)= 0.8333:候选文本与参考文本的最长公共子序列(LCS)长度占候选文本的比例。

召回率(r)= 0.6667:LCS 长度占参考文本的比例。

F1 分数(f)= 0.7407:衡量候选文本与参考文本的顺序和内容相似度。

2.3 PPL(困惑度):语言模型的试金石

定义:

PPL(Perplexity)衡量语言模型预测测试文本的能力,值越低,表示模型预测能力越强。

公式:

其中:

•  W :表示测试文本。

•  w_i:表示文本中的第  i  个单词。

•  P(w_i | w_1, w_2,..., w_{i-1}):表示模型预测第  i  个单词的概率。

•  N :测试文本的总单词数。

直观解释:

1. PPL 衡量模型的不确定性:

PPL 值越低:表示模型对文本的预测更准确。

PPL 值越高:表示模型对文本的预测越不确定。

2. PPL 的意义:

• 如果模型的 PPL 为  k ,可以理解为模型在预测每个单词时,平均有  k  个候选单词需要考虑。


2. PPL 的计算步骤

(1) 句子概率

语言模型会为测试句子分配一个生成概率  P(W) ,通过以下公式计算:

P(W) = \prod_{i=1}^{N} P(w_i | w_1, w_2, ..., w_{i-1})

• 其中, P(w_i | w_1, w_2,..., w_{i-1})  是根据语言模型计算的条件概率。

(2) 对数化处理

为了防止概率连乘导致的数值下溢问题(概率值非常小),对概率取对数:

\log_2 P(W) = \sum_{i=1}^{N} \log_2 P(w_i | w_1, w_2, ..., w_{i-1})

(3) 平均对数概率

计算单词的平均对数概率(归一化到每个单词):

-\frac{1}{N} \sum_{i=1}^{N} \log_2 P(w_i | w_1, w_2, ..., w_{i-1})

(4) 指数化

将对数均值通过指数化恢复到概率空间:

PPL(W) = 2^{-\frac{1}{N} \sum_{i=1}^{N} \log_2 P(w_i | w_1, w_2,..., w_{i-1})}


3. PPL 的意义

(1) 理想情况

• 当  PPL = 1 :模型对测试文本的预测完全准确,没有任何不确定性。

• 例如,一个完美的语言模型能精准地预测所有单词的出现。

(2) 一般情况

• 当  PPL > 1 :模型对测试文本存在一定的不确定性。

•  PPL  值越高,模型的预测质量越差。

(3) 实际意义

• PPL 反映了语言模型对测试数据的 “困惑” 程度。

• 低 PPL 表示模型更擅长预测文本中的单词。


案例解析

测试句子:I have a pen

假设概率分布:{'I': 0.1, 'have': 0.1, 'a': 0.4, 'pen': 0.1}

步骤 1:计算句子概率

根据 Unigram 模型的假设,句子的概率是各单词概率的乘积:

将每个单词的概率代入:

步骤 2:对数化处理

为避免数值下溢,对概率取对数,并累加:

计算每个单词的对数概率(保留两位小数):

累加结果:

步骤 3:归一化处理

将对数概率归一化为平均对数概率:

步骤 4:指数化处理

通过对平均对数概率指数化,得到困惑度:

结果

最终困惑度为:

PPL = 7.07


1. 困惑度含义

• PPL 表示模型在预测句子时的平均不确定性。

•  PPL = 7.07  表示模型平均需要考虑约 7 个候选单词。

2. 结果解读

• 如果困惑度较低,说明模型对句子的预测更准确。

• 本案例中,困惑度值适中,说明模型对该句子的预测尚有提升空间。

实战代码

import math  # 导入数学模块,用于对数计算# 定义测试句子
sentence = ['I', 'have', 'a', 'pen']  # 测试句子:'I have a pen'# 定义 Unigram 模型的单词概率分布
unigram_probs = {'I': 0.1,       # 单词 'I' 的概率为 0.1'have': 0.1,    # 单词 'have' 的概率为 0.1'a': 0.4,       # 单词 'a' 的概率为 0.4'pen': 0.1      # 单词 'pen' 的概率为 0.1
}# 初始化句子概率
sentence_prob = 1  # 初始值设为 1,因为要用乘法累计每个单词的概率# 遍历句子中的每个单词,计算句子概率
for word in sentence:sentence_prob *= unigram_probs[word]  # 将句子中每个单词的概率相乘# 对句子概率取以 2 为底的对数,并取负号
log_prob = -math.log2(sentence_prob)# 计算平均对数概率(归一化到单词级别)
avg_log_prob = log_prob / len(sentence)# 通过指数化计算困惑度 PPL
ppl = 2 ** avg_log_prob# 打印结果
print(f"句子概率: {sentence_prob}")       # 打印整个句子的生成概率
print(f"平均对数概率: {avg_log_prob}")   # 打印平均对数概率
print(f"困惑度 PPL: {ppl:.2f}")         # 打印困惑度(保留两位小数)

输出:

句子概率: 0.0004000000000000001
平均对数概率: 2.8228756555322954
困惑度 PPL: 7.07

2.4 METEOR 与 BERTScore:现代 NLP 的新方向

METEOR

核心特点

• 支持 同义词匹配(如 run 和 running)。

• 结合精确率与召回率,更注重语义相关性。

from nltk.translate.meteor_score import meteor_score# 候选文本
candidate = "The cat is sleeping on the mat"# 参考文本
reference = "A cat sleeps on the mat"# 计算 METEOR 分数
score = meteor_score([reference], candidate)# 输出结果
print(f"METEOR Score: {score:.4f}")

METEOR Score: 0.6444 

BERTScore

核心特点

• 使用预训练模型(如 BERT)生成上下文词向量。

• 通过余弦相似度计算生成文本与参考文本的语义相似性。

实战代码

from bert_score import score# 候选文本
candidate = ["The cat is sleeping on the mat"]# 参考文本
reference = ["A cat sleeps on the mat"]# 计算 BERTScore
P, R, F1 = score(candidate, reference, lang="en", verbose=True)# 输出结果
print(f"BERTScore Precision: {P[0]:.4f}")
print(f"BERTScore Recall: {R[0]:.4f}")
print(f"BERTScore F1 Score: {F1[0]:.4f}")

输出:

BERTScore Precision: 0.9786
BERTScore Recall: 0.9815
BERTScore F1 Score: 0.9801 

METEOR 适合对 翻译质量 和 文本生成 的基本评估,尤其是需要考虑词形变化和同义词匹配的场景。

BERTScore 在需要 深度语义匹配 的任务中表现更强,如对长文本或复杂语境进行评价。

3. 指标对比与选择指南

4. 实战案例

案例 1:BLEU 对比两种翻译模型性能。

案例 2:ROUGE 评估文本摘要质量。

案例 1:使用 BLEU 对比两种翻译模型性能

背景

任务: 比较两种机器翻译模型的性能。

指标: 使用 BLEU 分数衡量生成的翻译文本与参考翻译的相似性。

数据: 假设有一个句子和两种翻译模型的输出结果,以及参考翻译。

代码

from rouge import Rouge# 参考摘要
reference_summary = "The cat is on the mat. It is sleeping."# 机器生成的摘要
generated_summary = "The cat is sleeping on the mat."# 初始化 ROUGE 计算器
rouge = Rouge()# 计算 ROUGE 分数
scores = rouge.get_scores(generated_summary, reference_summary)# 打印结果
print("ROUGE-1:", scores[0]["rouge-1"])
print("ROUGE-2:", scores[0]["rouge-2"])
print("ROUGE-L:", scores[0]["rouge-l"])

输出示例

Model 1 BLEU Score: 1.0000

Model 2 BLEU Score: 0.5170

分析

• 模型 1 的 BLEU 分数为 1.0,表示与参考翻译完全一致。

• 模型 2 的 BLEU 分数为 0.5170,说明翻译不完全准确(a 和 mat 的翻译质量较低)。

• BLEU 分数帮助我们量化两种翻译模型的性能。

案例 2:使用 ROUGE 评估文本摘要质量

背景

任务: 评估机器生成的摘要与参考摘要的质量。

指标: 使用 ROUGE 分数衡量摘要的覆盖率。

数据: 假设有一个参考摘要和一个机器生成的摘要。

代码

from rouge import Rouge# 参考摘要
reference_summary = "The cat is on the mat. It is sleeping."# 机器生成的摘要
generated_summary = "The cat is sleeping on the mat."# 初始化 ROUGE 计算器
rouge = Rouge()# 计算 ROUGE 分数
scores = rouge.get_scores(generated_summary, reference_summary)# 打印结果
print("ROUGE-1:", scores[0]["rouge-1"])
print("ROUGE-2:", scores[0]["rouge-2"])
print("ROUGE-L:", scores[0]["rouge-l"])

输出示例

ROUGE-1: {'r': 0.8333, 'p': 0.8333, 'f': 0.8333}
ROUGE-2: {'r': 0.7500, 'p': 0.7500, 'f': 0.7500}
ROUGE-L: {'r': 0.8333, 'p': 0.8333, 'f': 0.8333}

分析

ROUGE-1: 单词级别的匹配分数。

• 召回率(r)、精确率(p)、F1 分数(f)均为 0.8333,表示生成摘要覆盖了大部分参考摘要的内容。

ROUGE-2: 二元组(bigram)的匹配分数为 0.7500,说明生成摘要对短语的结构较好,但略有缺失。

ROUGE-L: 基于最长公共子序列的分数为 0.8333,表明生成摘要较连贯。

总结

案例 1 通过 BLEU 分数对比两种翻译模型的性能,量化翻译质量。

案例 2 使用 ROUGE 分数评估机器摘要与参考摘要的覆盖率和连贯性。

• 这两种方法是 NLP 任务中常用的评估方式,可以帮助开发者改进模型性能。

5. 总结与展望

经典指标:BLEU 和 ROUGE 是传统任务的首选。

现代指标:METEOR 和 BERTScore 更关注语义,适合复杂任务。

未来方向:多模态任务评估指标将成为研究重点。

通过本文,希望你能深入理解 NLP 模型评估的五大核心指标,并灵活应用于实际任务中!

shud

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑马程序员Java项目实战《苍穹外卖》Day01

苍穹外卖-day01 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示: ​ 管理端-外卖商家使用 ​ 用户端-点餐用户使用 当我们完成该项目的学习,可以培养以下能力: 1. 软件开发整体介绍 作为一…

Java高级特性 - IO流

第1关 什么是IO流 BC,C 第2关 字节流-输入输出 第3关 字符流 - 输入输出 第4关 复制文件

BERT 详解

BERT简介 BERT(Bidirectional Encoder Representations from Transformers)是由 Google 在 2018 年提出的一种预训练语言模型。BERT 在自然语言处理(NLP)领域取得了重大突破,因为它能够有效地捕捉文本的上下文信息&am…

LLM大模型意图识别:分类算法lora训练案例

参考: https://blog.csdn.net/weixin_42357472/article/details/141134380 (LLaMA-Factory 微调训练) https://modelscope.cn/competition/54/summary?seasonId56 https://github.com/coggle-club/notebooks/blob/main/notebooks/llm/RAG-BM…

(计算机网络)期末

计算机网络概述 物理层 信源就是发送方 信宿就是接收方 串行通信--一次只发一个单位的数据(串行输入) 并行通信--一次可以传输多个单位的数据 光纤--利用光的反射进行传输 传输之前,要对信源进行一个编码,收到信息之后要进行一个…

Rk3588 onnx转rknn,出现 No module named ‘rknn‘

一、操作步骤: rk3588 需要将yolo11 的模型onnx转rknn。 https://github.com/airockchip/rknn_model_zoo/tree/main/examples/yolo11 这个是用yolo11训练的模型,有80种类型。 完整下载下来后,在按文档描述下载模型下来: 然后进…

DDR3与MIG IP核详解(一)

一、ddr3(全称第三代双倍速率同步动态随机存储器): 1、特点:1:掉电无法保存数据,需要周期性的刷新。2:时钟上升沿和下降沿都会传输数据。 3:突发传输,突发长度 Burst Length一般为…

多模态和大模型原理

一、图文匹配原理 Clip 通过图像编码器和照片编码器将两者区分成N项,然后让它们相互内积,能够匹配得上的则内积值为1,不能够匹配上的则内积为-1,也就是负样本,如上图,除了对角线的正样本,周围…

15 go语言(golang) - 并发编程goroutine原理及数据安全

底层原理 Go 的 goroutine 是一种轻量级的线程实现,允许我们在程序中并发地执行函数。与传统的操作系统线程相比,goroutine 更加高效和易于使用。 轻量级调度 用户态调度:Go 运行时提供了自己的调度器,这意味着 goroutine 的创建…

Flink细粒度的资源管理

Apache Flink致力于为所有应用程序自动导出合理的默认资源需求。对于希望根据其特定场景微调其资源消耗的用户,Flink提供了细粒度的资源管理。这里我们就来看下细粒度的资源管理如何使用。(注意该功能目前仅对DataStream API有用) 1. 适用场景 使用细粒度的资源管理的可能…

《操作系统 - 清华大学》5 -5:缺页异常

文章目录 1. 缺页异常的处理流程2.在何处保存未被映射的页?3. 虚拟内存性能 1. 缺页异常的处理流程 缺页中断的处理过程: CPU读内存单元,在TLB中根据其虚拟地址匹配物理地址,未命中,读页表; 由于页表项的存在位为0,CP…

Linux-NFS

文章目录 NASNFSNFS配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月27日12点50分 NAS 网络接入存储 共享存储文件存储 NAS设备包括 NAS引擎一个或多个网络接口一个操作系统…

OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

本文介绍在开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenHarmony5.0 Release系统,感兴趣…

杰发科技AC7803——不同晶振频率时钟的配置

计算公式 PLL_POSDIV [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62] PLL_PREDIV_1 1 2 4 USE_XTAL 24M SYSCLK_FREQ 64M SYSCLK_DIVIDER 1 VCO USE_XTAL*…

面向对象进阶-抽象类

抽象方法 将共性行为(方法)抽取到父类,由于每个子类执行内容不一样,在父类不能确定具体的方法体,该方法可以定义为抽象方法。 抽象类:如果一个类中存在抽象方法,那么该 类必须声明为抽象类。…

【数据结构专栏】二叉搜索树(Binary Search Tree)的剖析?

文章目录 🧨前言1、二叉搜索树的基本概念?2、二叉搜索树的节点结构组成?3、二叉搜索树的插入操作?4、二叉搜索树的删除操作?5、二叉搜索树的遍历?6、二叉搜索树的性能分析?🎉完整代码…

分布式调用 - 服务间的远程调用RPC

文章目录 导图PreRPC 概述RPC 调用过程RPC 动态代理1. 接口定义 (SeverProvider)2. 实现类 (ServerProviderImpl)3. 动态代理类 (DynamicProxy)4. 客户端 (Client)5. 代码工作流程6. 总结和注意点7. 结果输出8. 小结 RPC 序列化协议编码网络传输 导图 服务和应用的调用基于场景…

vue3项目搭建-4-正式启动项目,git管理

安装插件: npm install vue router npm install eslint 完成目录: 需要添置文件夹: apis -> api接口 composables -> 组合函数 directives -> 全局指令 styles -> 全局样式 utils -> 工具函数 git 管理: …

GPON原理

GPON网络架构 对于OLT来说,它就相当于一个指挥官,它指挥PON口下的ONU在指定的时间段内发送数据以及发起测距过程等 而ONU则是一个士兵,按照OLT的指挥做出相应 而ODN它主要就是提供一个传输通道,主要包括分光器和光纤组成 对于PO…

SJYP 24冬季系列 FROZEN CHARISMA发布

近日,女装品牌SJYP 2024年冬季系列——FROZEN CHARISMA已正式发布,展现了更加干练的法式风格。此次新品发布不仅延续了SJYP一贯的强烈设计风格和个性时尚,更融入了法式风情的干练元素,为消费者带来了一场视觉与穿着的双重盛宴。  …