【多模态】30、GPT4V_OCR | GPT4V 在 OCR 数据集上效果测评

在这里插入图片描述

文章目录

    • 一、背景
    • 二、测评
      • 2.1 场景文本识别
      • 2.2 手写文本识别
      • 2.3 手写数学公式识别
      • 2.4 图表结构识别(不考虑单元格中的文本内容)
      • 2.5 从内容丰富的文档中抽取信息
    • 三、讨论

论文:EXPLORING OCR CAPABILITIES OF GPT-4V(ISION) : A QUANTITATIVE AND IN-DEPTH EVALUATION

代码:https://github.com/SCUT-DLVCLab/GPT-4V_OCR

出处:华南理工

时间:2023.10

贡献:

  • 本文作者测评了 GPT-4V 在 OCR 任务上的效果
  • 测评包括:场景文本识别、手写文本识别、手写数学公式识别、表格识别、信息抽取
  • 测评结论:GPT4V 对拉丁文识别的较好,在多语言场景识别的不太好,对复杂场景识别的也不太好(如手写数学公式、表格识别、信息抽取等)。GPT4V 的能力和特定 OCR 模型相比,效果还有较大的差距,所以如何激发 LMM 模型在 OCR 上的能力还值得探究。

一、背景

大语言模型的成功催生了很多大型多模态模型的出现,如 BLIP-2、OpenFlamingo、LLaVA、MiniGPT4、mPLUG-Owl、GPT-4V 等

GPT-4V 的表现很强,所以本文作者主要探究了 GPT-4V 在 OCR 领域的效果

作者测评的数据集如下:

  • 场景文本识别(Scene Text Recognition,STR):CUTE80 [66], SCUT-CTW1500 [67], Total-Text [68], WordArt [69], ReCTS [70],MLT19 [71]
  • 手写文本识别(Handwritten Text Recognition,HTR): IAM [72] and CASIA-HWDB [73]
  • 手写公式识别(Handwritten Mathematical Expression Recognition,HMER):CROHME2014 [74] and HME100K [42]
  • 表格结构化识别(Table Structure Recognition,TSR):SciTSR [75] and WTW [76]
  • 文档信息抽取(Information Extraction from Visually-rich Document,VIE):FUNSD [77] and XFUND [78] Chinese subset (XFUND-zh)

测评结论:

  • GPT-4V的性能不及专门的OCR模型
  • GPT-4V在处理拉丁语内容时表现出色,但在处理其他语言时遇到了瓶颈
  • GPT-4V在处理如 HMER、TSR和VIE 等复杂场景的任务时也遇到了困难

作者抛出的问题:在OCR领域,专门的模型是否仍具有研究价值?

作者的回答:鉴于GPT-4V的三个关键缺点,即在多语言和复杂场景中的有限性能、高推理成本和更新挑战,我们认为现有的大型语言模型(LMMs)难以同时处理各种OCR任务[79]。因此,专门的模型在OCR领域的研究价值仍在继续。然而,利用像GPT-4V这样的大型语言模型的潜力对未来的OCR研究仍然至关重要。可能有三个值得探究的潜在方向,包括语义理解增强、下游任务的微调,以及自动/半自动数据构建。

二、测评

2.1 场景文本识别

数据集:

场景识别数据集:CUTE80 [66], SCUT-CTW1500 [67], Total-Text [68], WordArt [69] , ReCTS [70]

端到端文本检测:MLT19,一个用于多语言场景文本(MLT)检测和识别的数据集,它包含了10种语言的文本,共有20,000张图片

  • 使用MLT19 [71]来评估GPT-4V的多语言能力
  • 对于每种语言,我们从训练集中随机选择20张图片。
  • 为了研究图像分辨率对识别结果的影响,从上述子集中选择20张英文图片,并将它们的长边分别调整至128、256、512、1024和2048像素。

prompt:

  • word-level English text recognition: “What is the scene text in the image?”,
  • ReCTS in Chinese: “图片中的场景文字是什么?”
  • end-to-end text spotting: “What are all the scene text in the image? Do not translate”.

Metric:

  • 评估 word-level 的识别:作者使用 word accuracy ignoring case and symbols (WAICS) 来评估,也就是忽略大小写和符号的单词准确率
  • 评估端到端的文本检测和识别(text spotting),作者使用空格将 GPT4V 的预测结果和 GT 分开,然后计算 precision 和 recall

precision 表示 GPT-4V 识别正确的 words,recall 表示识别出正确的 words 占所有 words 的占比,然后计算出 F1:

在这里插入图片描述

结果分析:

结果见表1、2、3

在这里插入图片描述

作者的观点:

  • GPT-4V 对英文和中文的识别差距还是挺大的,如表 1 所示,对英文的识别表现是很好的,对中文文本的识别几乎为0(ReCTs),这是由于训练数据中缺乏中文数据
  • GPT-4V 对拉丁文(英文、法文、德文、意大利文等)的识别很好,比其他语种的语言识别的都好,如表 2 所示,比其他非拉丁字母的识别都好,这也说明 GPT-4V 对多语言的 OCR 识别有局限
  • GPT-4V 支持不同分辨率的图片输入(之前的 LMM 方法大都只支持固定大小的输入),如表 3 所示,图片的分辨率和识别的效果成正比

在这里插入图片描述
在这里插入图片描述

2.2 手写文本识别

数据集:

作者使用两个标准的手写数据集来衡量,从下面两个数据集中随机选出 50 个图片和文本:

  • 英文:IAM(1539 页,13353 行,手写英文文本)
  • 中文:CASIA-HWDB(5090 耶,1.35m 字符,7356 个类别,其中 7185 个中文字,171 个符号)

Prompt:

  • IAM:“Recognize the text in the image.”
  • CASIA-HWDB:“请直接告诉我,图片中的文字都是什么?”

Metric:

英文:

  • WER:Word Error Rate,是一种常用于语音识别和手写文本识别的性能指标,计算了识别结果中错误的单词数量占参考文本(通常是正确文本)中单词总数的比例,WER 越低,表示识别系统的性能越好
    • (S + D + I) / N,其中:
      • S 是替换错误的数量(识别结果中的单词错误地被替换为另一个单词)。
      • D 是删除错误的数量(识别结果中遗漏了某个单词)。
      • I 是插入错误的数量(识别结果中多出了不应该出现的单词)。
      • N 是参考文本中的单词总数。
  • CER:Character Error Rate,是一种评估手写或打印文本识别系统的指标,计算的是错误的字符数量占参考文本中字符总数的比例,CER的计算公式与WER相似,但它关注的是字符级别的错误,而不是单词级别,低CER意味着字符识别的准确度高

举一个具体的例子:

假设有一句标准答案(参考文本)是:This is a pen,这句话有四个单词,所以( N = 4 )。

如果一个识别系统给出了这样的识别结果: This is pen,则这里有一个删除错误("a"被漏掉了),所以( D = 1 ),而没有替换错误和插入错误,所以( S = 0 )和( I = 0 )。

根据 WER 的公式,可以计算出:
WER = 0 + 1 + 0 4 = 1 4 = 0.25 \text{WER} = \frac{0 + 1 + 0}{4} = \frac{1}{4} = 0.25 WER=40+1+0=41=0.25

或者以百分比表示,WER是25%。

这个结果说明,识别结果与标准答案相比有25%的单词错误。理想情况下,WER 应该是0%,这意味着识别结果完全准确。实际应用中,我们追求尽可能低的WER。

例子 1:参考文本:今天天气真好
系统输出:今天天气好
在这个例子中,"真"这个词被删除了。替换:0
插入:0
删除:1
词数:4
$WER = \frac{0 + 0 + 1}{4} = 0.25$
WER为25%。例子 2:参考文本:我们去公园玩
系统输出:我们公园去玩
系统输出中,“去”和“公园”两个词位置互换了,可以视为一个替换错误(因为“去公园”被错误地替换成了“公园去”)。替换:1
插入:0
删除:0
词数:4
$WER = \frac{1 + 0 + 0}{4} = 0.25$
WER为25%。例子 3:参考文本:我想吃苹果
系统输出:我想吃橘子
这里,“苹果”被“橘子”替换了。替换:1
插入:0
删除:0
词数:3
$WER = \frac{1 + 0 + 0}{3} \approx 0.33$
WER为33.33%。例子 4:参考文本:明天你有空吗
系统输出:你明天有空吗
尽管单词顺序发生了变化,但这不影响WER的计算,因为所有单词都被正确识别了。替换:0
插入:0
删除:0
词数:4
$WER = \frac{0 + 0 + 0}{4} = 0$
WER为0%。例子 5:参考文本:请打开窗户
系统输出:请开窗户
这里,“打开”被缩短为“开”。替换:0
插入:0
删除:1
词数:3
$WER = \frac{0 + 0 + 1}{3} \approx 0.33$
WER为33.33%

中文:

  • AR:Accuracy Rate (AR) 可以被理解为“准确率”,它指的是正确识别的字符或词汇占总字符或词汇的比率。AR 高意味着系统能够准确地识别出大部分的文本内容
  • CR:Correct Rate (CR) 可以被理解为“正确率”,它通常指的是正确识别的字符或词汇占总字符或词汇的比率,但是它的具体含义可能会根据不同的研究背景有所不同。

AR 通常指代“准确率”(Accuracy Rate),而 CR 通常指代“识别率”(Recognition Rate)或“正确率”(Correct Rate)。这些指标用于衡量OCR系统的性能。以下是如何计算这两个指标的例子:

  • 准确率(Accuracy Rate, ar):

    准确率是指OCR系统正确识别的字符数与文档中总字符数的比例。它可以用以下公式计算:

    Accuracy Rate (ar) = 正确识别的字符数 文档中的总字符数 × 100 \text{Accuracy Rate (ar)} = \frac{\text{正确识别的字符数}}{\text{文档中的总字符数}} \times 100% Accuracy Rate (ar)=文档中的总字符数正确识别的字符数×100

    例如,如果一个文档有1000个字符,OCR系统正确识别了950个字符,则准确率为:

    ar = 950 1000 × 100 \text{ar} = \frac{950}{1000} \times 100% = 95% ar=1000950×100

  • 识别率/正确率(Recognition Rate/Correct Rate, cr):

    识别率或正确率通常指的是在OCR系统处理过程中,正确识别的信息的比例。这可能指的是字符级别、单词级别或整个文档级别的识别。计算方式与准确率相似,但侧重点可能不同,例如,可能更关注特定类型的错误。

    如果我们假设“识别率”是在字符级别上的正确率,其计算方式与准确率相同。然而,在实际应用中,可能还会考虑到其他因素,比如错误的类型(替换错误、插入错误或删除错误)。

    Correct Rate (CR) = 正确识别的字符数 文档中的总字符数 × 100 \text{Correct Rate (CR)} = \frac{\text{正确识别的字符数}}{\text{文档中的总字符数}} \times 100% Correct Rate (CR)=文档中的总字符数正确识别的字符数×100

    假设我们有一个文档,总共包含1200个字符,OCR系统处理后,识别了其中1100个字符是正确的,那么CR计算如下:

    CR = 1100 1200 × 100 = 91.67 \text{CR} = \frac{1100}{1200} \times 100=91.67 CR=12001100×100=91.67

    这意味着OCR系统在这个任务上的识别率或正确率是91.67%。


结果分析:

结果见表 4、5

  • 结论 1:GPT-4V 在手写体识别任务中,英文手写体的识别效果比中文手写体要好
  • 结论 2:GPT-4V 在中文手写体识别任务中,存在很大的幻觉,如图 3c 和 3d 所示,GPT-4V 生成的回应在语法和语义上都有高度的流畅性。然而,它们与真实文本(GT)的内容有很大的偏离,似乎是以一种看似认真的方式产生了毫无意义的信息。

在这里插入图片描述

在这里插入图片描述

2.3 手写数学公式识别

Dataset:

作者使用了下面这两个数据集,从中随机各选择了 50 张图作为测试

  • CROHME2014:包含 9820 个手写数学表达式
  • HME100K:包含 100k 个图片,约 1 万个人写的数学表达式,拍照得到的

Prompt:

  • “This is an image of a handwritten mathematical expression. Please recognize the expression above as LaTeX.”

Metric:

包括在表达式层面的正确率,以及最多只有一到三个错误

结果分析:

结果如表 6 所示

在这里插入图片描述

  • 结论 1:GPT-4V在处理拍照捕获的图像和较差的手写情况时似乎有所局限。如表6所示,与CROHME2014相比,GPT-4V在HEM100K(特点是拍照捕获的图像和较差的手写)的性能显著下降。如图3所示,(a)和©是CROHME2014的示例,(b)和(d)来自HEM100K,GPT-4V在前者上表现良好,但在后者上表现不佳。

  • 结论 2:GPT-4V在细粒度字符识别上表现也欠佳。在失败的案例中,观察到GPT-4V偶尔会遗漏小尺寸字符的情况。图3中的(e)和(f)展示了两个例子。对于这两个例子,GPT-4V分别遗漏了一个上标和一个下标。这一发现与 [79] 中对其他多模态模型的评估结果一致,表明GPT-4V也可能受到某些细粒度感知问题的影响。

在这里插入图片描述

2.4 图表结构识别(不考虑单元格中的文本内容)

Dataset:

该任务使用的数据集包括下面两个,作者随机从中各选择 50 个 tables 来测试,而且是从原图中抠出的:

  • SciTSR:共 12000 训练样本,3000 测试样本
  • WTW:包括 10970 训练样本,3611 测试样本

Prompt:

  • “Please read the table in this image and return a html-style reconstructed table in text, do not omit anything.”

Metric:

为了评估GPT-4V在表格结构识别方面的性能,作者使用了 TEDS-S[48] 指标,这是基于树编辑距离相似度 (TEDS)[48] 的一个变体,它忽略了单元格的文本内容,只评估表格结构预测的准确性。


TEDS-S 指标是一种用于评估表格结构识别性能的度量方法。具体来说,TEDS-S是基于树编辑距离相似度(Tree-Edit-Distance-Based Similarity,简称TEDS)的一个变种

  • 树编辑距离(Tree Edit Distance):

    这是一种衡量两棵树(在计算机科学中,树是一种常用的数据结构)之间相似度的方法,通过计算将一棵树转换成另一棵树所需的最少编辑操作数量。编辑操作通常包括插入、删除和重命名节点。树编辑距离越小,两棵树就越相似。

  • 树编辑距离相似度(TEDS):

    TEDS是树编辑距离的一个应用,用于衡量表格数据结构的相似度。在表格结构识别任务中,可以将表格视为树状结构,其中表格的行和列可以表示为树的分支和节点。TEDS通过计算将识别出的表格结构(树)转换为真实的表格结构(另一棵树)所需的最少编辑操作数量来评估识别的准确性。

  • TEDS-S指标:

    TEDS-S是TEDS的一种变体,它专注于评估表格结构的准确性,而不考虑单元格中的文本内容。在某些应用场景中,识别表格的结构比识别单元格中的具体文本更为重要。TEDS-S通过忽略文本内容,仅仅基于表格的结构来评估预测的准确性。这种度量方法特别适合于那些表格结构本身就是分析的主要目标的场景。

总结来说,TEDS-S 指标提供了一种方式来评估表格结构识别技术的性能,它通过比较预测的表格结构和真实表格结构之间的树形编辑距离来进行评估,而忽略了单元格内的文本内容。


结论分析:

结果见表 7

在这里插入图片描述

  • 结论 1:GPT4V 难以应对复杂表格:GPT4V 在处理结构布局规整且文本分布一致的表格时,如图4(a)所示,GPT-4V表现出色。然而,当处理其他类型的表格时,包括那些含有许多空白单元格、文本分布不均、倾斜、旋转或密集排列的表格,其性能明显下降。

  • 结论 2:GPT-4V 在处理长表格时存在内容遗漏的问题:尽管在提示中强调了“不要遗漏任何内容”的要求,我们仍然观察到一些内容遗漏的实例,特别是在处理大型表格的情况下。一个典型的例子显示在图4(e),表格图片图4(c)包含许多行,但GPT-4V只重建了其中的三行。

在这里插入图片描述

2.5 从内容丰富的文档中抽取信息

Dataset:

使用完整的测试集(FUNSD和XFUND-zh都包含50个样本)来评估:

  • FUNSD:FUNSD 数据集是一个常用的表单理解基准测试集,包含199个扫描的类似表单的文档,这些文档含有噪声图像。
  • XFUND:FUNSD 的多语言扩展,涵盖七种语言(中文、日文、法文、意大利文、德文、西班牙文和葡萄牙文)

作者对GPT-4V进行了语义实体识别(SER)任务和端到端键值对提取任务的评估。

  • SER 任务要求模型识别每个文本段落的类别,这些类别在FUNSD和XFUND中被预定义为标题、问题、答案和其他。
  • 端到端键值对提取任务要求模型从给定的文档图像中提取所有的键值对

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Prompt:

  • FUNSD:Please read the text in this image and return the information in the following JSON format (note xxx is placeholder, if the information is not available in the image, put “N/A” instead). “header”: [xxx, …], “key”: [xxx, …], “value”: [xxx, …]

  • End-to-end Pair Extraction:You are a document understanding AI, who reads the contents in the given document image and tells the information that the user needs. Respond with the original content in the document image, do not reformat. No extra explanation is
    needed. Extract all the key-value pairs from the document image.

Metric:

  • entity-level F1-score
  • Normalized Edit Distance (NED)

结论分析:

结果见表 8 和 9

在这里插入图片描述

  • 结论 1:GPT-4V 可能在理解文档的空间排列方面存在局限性。如图5所示,位于页面顶部的一些文本内容,既没有视觉上也没有语义上与标题类别对齐,错误地被识别为标题。更多的可视化示例在图6中展示。显而易见,GPT-4V在分析布局简单的文档时表现出色,但在理解布局复杂的文档时则遇到困难。

  • 结论 2:GPT-4V 倾向于为非键值对内容生成新的键。例如,如图7所示,位于标题部分的内容“09 / 17 / 97 10:55”被识别为“日期:09/18/97”,“时间:10:55”,“传真号码:503 841 1898”,“公司:LORILLARD PTLD”,“页码:001”。

三、讨论

专门的模型在OCR(光学字符识别)领域是否仍具有研究价值?根据第二节的实验结果,GPT-4V在OCR方面的能力限于拉丁内容,并且难以应对多语言和复杂场景。

  • (1)推理成本和延迟显著高,因此在某些实际场景中提出了可用性挑战。
  • (2)更新周期长且过程复杂,难以迅速解决小问题。考虑到上述缺点和某些其他大型语言模型(LMMs)的有限OCR能力[79]
  • 作者认为现有的LMMs难以在各种OCR任务中同时表现出色。因此,我们认为OCR领域的专门化模型仍然对研究具有重要价值。

我们如何充分利用像GPT-4V这样的LMM在OCR领域的潜力?以下是一些可能的策略。

  • (1)语义理解增强:LMMs的一个显著特点在于它们在大规模数据上经过广泛训练后的出色语义能力。由于语义理解是文档理解和一些相关任务的关键因素,利用LMMs的语义潜力可以大大提高这些任务的性能。
  • (2)下游任务微调:充分利用LMMs的先验知识的另一种方法是微调,特别是在数据有限的场景中。微调允许模型适应特定任务或领域,从而提高性能[89]。
  • (3)自动/半自动数据构建:使用LMMs进行自动/半自动数据注释和生成将大幅减少数据准备的时间和成本。

局限性:本文的工作存在三个主要局限性。

  • 首先,由于GPT-4V的对话限制(每3小时50次对话),我们评估的测试样本规模较小(大多数数据集为每个数据集50个样本)。这可能限制了结果的普遍性。
  • 其次,我们的评估主要关注主流的光学字符识别(OCR)任务,并没有包括其他与OCR相关的任务。因此,发现可能没有涵盖GPT-4V在OCR能力的全部范围。
  • 第三,我们仅评估了GPT-4V在OCR中的零次学习能力,没有探索少次学习场景。因此,未解决通过进一步训练或针对特定任务微调大型语言模型(LLM)可能带来的潜在好处。在未来,值得探索使用上下文学习等技术的少次学习场景。

结论:

  • 作者对 GPT-4V 在 OCR 各类任务上做了广泛的评估
  • 验证了 GPT-4V 对拉丁文内容的强大识别能力,但对多语言和复杂场景表现并不好
  • GPT-4V 的推理成本的延时是很大的一个部署障碍
  • OCR 领域的专业研究仍有价值,但这些大型 LMM 模型仍然可以通过强语义理解、针对下游任务的微调,以及促进自动/半自动数据构建等方式来促进 OCR 领域的发展

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

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

相关文章

centos7.6安装mysql

博客主页:花果山~程序猿-CSDN博客 文章分栏:MySQL之旅_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 1.在网页中寻找mysql…

【QT】QT环境搭建

本专栏内容为:QT学习专栏 通过本专栏的深入学习,你可以了解并掌握QT。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:QT 🚚代码仓库:小小unicorn的代码仓库🚚 🌹&#x1f…

WordPress 管理员密码重置方法汇总

最近明月碰到一个 WordPress 站长求助咨询,说是自己 WordPress 站点的管理员密码被恶意篡改了,对 WordPress 了解的都知道这一般都是恶意代码造成的,问题大多出在使用了所谓的破解版、去授权版的插件或者主题被植入了恶意代码、后门木马。明月…

洗地机哪个牌子好性价比高又实惠?高性价比洗地机推荐【避坑指南】

洗地机是一种智能清洁家具,具有强大的清洁能力,可快速有效地清洁各种地面污渍,操作简便,省时省力。其一键操作功能使其易于上手,无需频繁清洗拖布和更换水,大大提高了清洁效率。部分高端洗地机还具备智能感…

全国防灾减灾日主题活动投稿我可算找对了投稿方法

作为一名社区公众人员,我深知对外信息宣传的重要性。特别是在全国防灾减灾日这样的特殊时刻,我们不仅要向居民普及防灾减灾知识,还要通过媒体将社区的活动和成果展示给更多人。然而,在投稿的过程中,我最初却遭遇了诸多挑战。 起初,我采用传统的邮箱投稿方式,将精心撰写的稿件发…

小程序常用组件

小程序常用组件 1.组件的定义2.常用组件3.引入外部字体图标库4.组件样式5.示例代码 1.组件的定义 组件就是指微信定义的具有特殊功能的标签&#xff0c;在wxml中只能使用微信定义的标签。 2.常用组件 <view>&#xff1a;用于页面布局的块级组件&#xff0c;类似于html中的…

jmeter分布式集群压测

目的&#xff1a;通过多台机器同时运行 性能压测 脚本&#xff0c;模拟更好的并发压力 简单点&#xff1a;就是一个人&#xff08;控制机controler/调度机 master&#xff09;做一个项目的时候&#xff0c;压力有点大&#xff0c;会导致结果不理想&#xff0c;这时候找几个人&a…

OS复习笔记ch5-4-2

引言 承接上文我们介绍了信号量机制和应用信号量机制实现的进程同步和互斥&#xff0c;这一节我们将围绕一些经典问题对信号量机制展开更深入地探讨。 读者/写者问题 读者/写者问题与我们之前遇到的问题类型不同&#xff0c;它描述的是&#xff1a; 有读者和写者两组进程&am…

ohmyzsh的安装过程中失败拒绝连接问题的解决

1.打开官网Oh My Zsh - a delightful & open source framework for Zsh 在官网能看到下面的界面 有这两种自动安装的方式 个人本次选择的是: wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O - 1.打开终端输入安装的指令 sh -c "$(wget…

软件需求工程习题

1.&#xff08;面谈&#xff09;是需求获取活动中发生的需求工程师和用户间面对面的会见。 2.使用原型法进行需求获取&#xff0c;&#xff08;演化式&#xff09;原型必须具有健壮性&#xff0c;代码质量要从一开始就能达到最终系统的要求 3.利用面谈进行需求获取时&#xf…

K邻近算法

简介 介绍了非常简单的算法&#xff1a;K邻近算法&#xff0c;即KNN。 基本介绍 K-近邻算法&#xff08;K-Nearest Neighbors&#xff0c;简称KNN&#xff09;是一种基本且广泛应用的监督学习算法&#xff0c;主要用于分类和回归任务。 工作原理非常简答直观&#xff1a;所谓…

爆款小红书免费流量体系课程(两周变现),小红书电商教程

课程下载&#xff1a;小红书电商教程-课程网盘链接提取码下载.txt资源-CSDN文库 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 10-爆款标题(三段式取标题).mp3 11-爆款封面怎么作图.mp3 12-爆款内容的模板(三段式模板).mp3 13-小红书流量推荐背后的秘密(四大流…

数据结构与算法-排序算法1-冒泡排序

本文先介绍排序算法&#xff0c;然后具体写冒泡排序。 目录 1.排序算法简介 2.常见的排序算法分类如下图&#xff1a; 3.冒泡排序&#xff1a; 1.介绍&#xff1a; 2.动态图解 3.举例 4.小结冒泡排序规则 5.冒泡排序代码 6.优化 7.优化后时间 代码&#xff1a; 运…

讯方·智汇云校4月HCIE通过28人!证书量总计123!

智汇云校捷报 —4月华为认证证书量123本— 智汇云校4月IE捷报来了 讯方技术2024年PMP第一期3月考期顺利结班&#xff0c;考试全员通过~ 2024年4月&#xff0c;云校HCIA、HCIP、HCIE共通过123人&#xff01; 62人通过HCIA 33人通过HCIP 28人通过HCIE 祝贺以下学员通过HC…

simulink-仿真以及PID参数整定/PID tuner 的使用流程

控制器搭建与参数整定 搭建一个前馈PID控制器控制系统PID tuner使用 一个懂点控制但不多的小白&#xff0c;因为需要利用simulink仿真&#xff0c;所以不得不学习一些仿真的知识&#xff0c;这篇文章适合和我一样的新手入门&#xff0c;有理解错误的地方希望大手们能够指出来共…

Llama3-Tutorial(Llama 3 超级课堂)-- 笔记

第1节—Llama 3 本地 Web Demo 部署 端口转发 vscode里面设置端口转发 https://a-aide-20240416-b4c2755-160476.intern-ai.org.cn/proxy/8501/ ssh -CNg -L 8501:127.0.0.1:8501 rootssh.intern-ai.org.cn -p 43681参考 https://github.com/SmartFlowAI/Llama3-Tutorial/b…

ssm123基于java web的网上书城系统的设计与实现+vue

基于java web的网上书城系统的设计与实现vue 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;商品交易当然也不能排除在外&#xff0c;随着商品交易管理的不断成熟&#xff0c;它彻底改变了…

STM32学习和实践笔记(25):USART(通用同步、异步收发器)

一&#xff0c;STM32的USART简介 USART即通用同步、异步收发器&#xff0c;它能够灵活地与外部设备进行全双工数据交换&#xff0c;满足外部设备对工业标准 NRZ 异步串行数据格式的要求。 UART即通用异步收发器&#xff0c;它是在USART基础上裁剪掉了同步通信功能。 开发板上…

LeetCode 700.二叉搜索树中的搜索

LeetCode 700.二叉搜索树中的搜索 1、题目 题目链接&#xff1a;700. 二叉搜索树中的搜索 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则…

Adobe使用常见问题解答,如何续费?

“Adobe系统状态”页上的颜色表示什么&#xff1f; Gray表示我们调查了潜在的服务中断并确定它没有影响。橙色表示轻微问题。红色表示严重问题。蓝色表示定期维护。绿色表示所有服务均运行正常。 如何查看以前的CSO或CMR&#xff1f; 导航到 https://status.adobe.com.单击所…