【打卡-Coggle竞赛学习2023年3月】对话意图识别

news2025/7/16 4:36:32

学习链接:
https://coggle.club/blog/30days-of-ml-202303

## Part1 内容介绍

本月竞赛学习将以对话意图识别展开,意图识别是指分析用户的核心需求,错误的识别几乎可以确定找不到能满足用户需求的内容,导致产生非常差的用户体验。

在对话过程中要准确理解对方所想表达的意思,这是具有很大挑战性的任务。在本次学习中我们将学习:

  • 自然语言处理基础
  • 文本分类路线:TFIDF、FastText、BERT、Prompt
  • 文本大模型BERT、T5和GPT原理

在本月中我们将加入与ChatGPT精度对比(由小助手教ChatGPT进行意图识别)的环节,如果你的模型高于排行榜上的ChatGPT会获得其他奖励。

## Part4 意图识别

### 背景介绍

意图识别(Intent Recognition)是指通过自然语言文本来自动识别出用户的意图或目的的一项技术任务。在人机交互、语音识别、自然语言处理等领域中,意图识别扮演着至关重要的角色。

意图识别有很多用途,例如在搜索引擎中分析用户的核心搜索需求,在对话系统中了解用户想要什么业务或者闲聊,在身份识别中判断用户的身份信息等等。意图识别可以提高用户体验和服务质量。

### 环境配置

实践环境建议以Python3.7+,且需要安装如下库:

  • numpy
  • pandas
  • networkx
  • igraph

### 学习打卡

任务名称难度/分值
任务1:数据读取与分析低/1
任务2:TFIDF提取与分类中/2
任务3:词向量训练与使用中/2
任务4:LSTM意图分类高/3
任务5:BERT意图分类高/3
任务6:T5/Prompt意图分类高/3

打卡地址:https://shimo.im/forms/WzKfKu5RFdQICu6I/fill

注明:

  1. 在任务积分外还考虑模型在排行榜的得分,同等积分下排名榜排名优先。
  2. 如果使用Paddle或AI Studio打卡的同学,会获取额外的奖励。

#### 任务1:数据读取与分析

NLP是自然语言处理的缩写,是研究如何让计算机理解和处理自然语言的一门技术。自然语言是人类交流和表达思想的主要工具,具有丰富的语义和多样的形式。学习NLP需要掌握基本的语言学概念、文本预处理和文本表示方法等基础知识。语言学概念可以帮助我们分析自然语言的结构和规律,文本预处理可以帮助我们清洗和规范化文本数据,文本表示方法可以帮助我们将文本转换为计算机可处理的数值向量。

学习NLP很难的原因可能有以下几点:NLP涉及多个领域的知识,需要有较强的综合能力和自学能力;NLP是一个快速发展的领域,需要不断更新自己的知识和技能;NLP面临很多挑战和难题,如自然语言的歧义性、复杂性、多样性等。

  • 步骤1:下载意图识别数据集,该数据集是一个多分类任务,目标是根据用户的输入文本判断用户的意图。意图识别数据集的下载地址和练习平台如下:https://competition.coggle.club/

  • 步骤2:使用Pandas库读取数据集,Pandas是一个用于数据分析和处理的Python库,可以方便地读取、操作和保存各种格式的数据文件。使用Pandas的read_csv函数可以读取csv格式的数据文件,并返回一个DataFrame对象。

  • 步骤3:统计训练集和测试集的类别分布、文本长度等基本信息,以了解数据集的特征和难度。使用DataFrame对象的value_counts函数可以统计每个类别出现的次数和比例,使用apply函数和len函数可以统计每个文本的长度。
    在这里插入图片描述
    在这里插入图片描述

  • 步骤4:通过上述步骤,请回答下面问题

    • 数据集的类别分布一致吗?根据统计结果,比较训练集和测试集中每个类别出现的次数和比例是否相近。
    • 数据集中的文本是长文本还是短文本?根据统计结果,查看每个文本的长度分布情况,如文本长度的中位数。
    • 数据集中总共包含了多少个字符,多少个单词?将单词按照意图类别绘制云图。
      解答:
  • 数据集的类别分布一致吗?根据统计结果,比较训练集和测试集中每个类别出现的次数和比例是否相近。

数据集的类别分布不完全一致,但是大致相似。训练集中最常见的三个类别都是FilmTele-Play、Video-Play和Music-Play,而最不常见的三个类别是TVProgram-Play、Audio-Play和Other。训练集和测试集中每个类别出现的比例也基本接近,除了一些小的差异,训练集中大部分数据是均匀的,都占10%左右;而最小的类别都占2%左右。

  • 数据集中的文本是长文本还是短文本?根据统计结果,查看每个文本的长度分布情况,如文本长度的中位数。

数据集中的文本都是短文本。根据统计结果,训练集和测试集中每个文本的平均长度都在15左右,最大长度都不超过60,最小长度大于4。训练集和测试集中每个文本的长度中位数都为15。

  • 数据集中总共包含了多少个字符,多少个单词?将单词按照意图类别绘制云图。

数据集中总共包含了约18万个字符,约1.2万多个单词。将单词按照意图类别绘制云图需要使用其他库或工具,如matplotlib或wordcloud。
统计字符和单词:
在这里插入图片描述
按照类别绘制词云如下:
在这里插入图片描述

# 也可通过下面的读取方式进行读取
import pandas as pd
train_data = pd.read_csv('https://mirror.coggle.club/dataset/coggle-competition/intent-recognition-train.csv')
test_data = pd.read_csv('https://mirror.coggle.club/dataset/coggle-competition/intent-recognition-test.csv')

#### 任务2:TFIDF提取与分类

TFIDF(词频-逆文档频率)是一种常见的文本表示方法,可以用于文本分类任务。TFIDF将文本表示为词项的权重向量,其中每个词项的权重由其在文本中出现的频率和在整个语料库中出现的频率共同决定。TFIDF可以反映出词项在文本中的重要程度,越是常见的词项权重越低,越是稀有的词项权重越高。

  • 步骤1:使用sklearn中的TfidfVectorizer类提取训练集和测试集的特征,
    在这里插入图片描述

  • 步骤2:使用KNN/LR/SVM等分类器对训练集进行训练,并对验证集和测试集进行预测,评估模型的性能。
    在这里插入图片描述
    在这里插入图片描述

  • 步骤3:通过上述步骤,请回答下面问题

    • TFIDF中可以设置哪些参数,如何影响到提取的特征?TfidfVectorizer类中可以设置以下参数:
      • max_df: 用于过滤掉高频词项,在[0.0, 1.0]之间表示比例;
      • min_df: 用于过滤掉低频词项,在[0.0, 1.0]之间表示比例;
      • max_features: 用于限制提取特征的数量,默认为None。
      • ngram_range: 用于指定提取n元语法特征时n值范围,默认为(1, 1),即只提取单个词项。
      • stop_words: 用于指定停用词列表,默认为None。
      • norm: 用于指定归一化方法,默认为’l2’范数。
      • use_idf: 是否使用逆文档频率计算权重,默认为True。
      • smooth_idf: 是否平滑逆文档频率计算,默认为True
        TFIDF中可以设置哪些参数,如何影响到提取的特征?TfidfVectorizer类中可以设置以下参数: max_df: 用于过滤掉高频词项,在[0.0, 1.0]之间表示比例; min_df: 用于过滤掉低频词项,在[0.0, 1.0]之间表示比例; max_features: 用于限制提取特征的数量,默认为None。 ngram_range: 用于指定提取n元语法特征时n值范围,默认为(1, 1),即只提取单个词项。 stop_words: 用于指定停用词列表,默认为None。 norm: 用于指定归一化方法,默认为’l2’范数。 use_idf: 是否使用逆文档频率计算权重,默认为True。 smooth_idf: 是否平滑逆文档频率计算,默认为True。
        这些参数会影响到提取特征的数量、稀疏度、分布等方面。一般来说,需要根据具体的任务和数据来调整这些参数以达到最佳效果。
    • KNN/LR/SVM的精度对比:根据实验结果,比较三种分类器在验证集和测试集上预测正确率、召回率、F1值等指标,并分析各自优缺点。
    • KNN/LR/SVM的精度对比:根据实验结果,比较三种分类器在验证集和测试集上预测正确率、召回率、F1值等指标,并分析各自优缺点。

根据我运行的代码,我得到了以下的结果:

分类器正确率召回率F1值
KNN0.104958677685950410.092738212065980550.032785163251865944
LR0.12561983471074380.097707675527644980.04474244044902318
SVM0.12685950413223140.102253130073099510.0524616354857817

可以看出,LR和SVM在这个任务上表现最好,KNN稍逊一筹。这可能是因为LR和SVM能够更好地处理高维稀疏的特征空间,而KNN受到维数灾难的影响。LR和SVM的优点是可以进行特征选择和正则化,避免过拟合;缺点是需要调整超参数,如正则化系数和损失函数。KNN的优点是简单易用,不需要训练;缺点是计算量大,对噪声敏感,需要选择合适的邻居数目。

#### 任务3:词向量训练与使用

词向量是一种将单词转化为向量表示的技术,在自然语言处理中被广泛应用。通过将单词映射到一个低维向量空间中,词向量可以在一定程度上捕捉到单词的语义信息和关联关系,进而提高自然语言处理任务的性能。以下是使用词向量进行文本分类的一个简单示例:

  • 步骤1:使用结巴对文本进行分词,结巴是一个基于Python的中文分词工具,并支持自定义字典和停用词。
    在这里插入图片描述

  • 步骤2:使用gensim训练词向量,也可以考虑加载已有的预训练词向量。gensim是一个基于Python的自然语言处理库,可以方便地训练或加载词向量,并进行相似度计算、最近邻查询等操作。
    在这里插入图片描述

  • 步骤3:使用词向量对单词进行编码,然后计算句子向量(可以直接求词向量均值)。将每个单词替换为其对应的词向量后,得到一个由多个向量组成的矩阵。为了简化计算和降低维度,可以对矩阵按行求均值,得到一个代表句子含义的句子向量。
    在这里插入图片描述

  • 步骤4:使用LR、SVM和决策树对句子向量进行训练,验证和预测。LR(逻辑回归)、SVM(支持向量机)和决策树都是常用的机器学习分类算法,可以使用sklearn库中提供的相关函数来实现。
    在这里插入图片描述
    在这里插入图片描述

  • 步骤5:通过上述步骤,请回答下面问题

    • 词向量的维度会影响到模型精度吗?一般来说,词向量的维度越高,则表示单词语义信息和关联关系的能力越强;但同时也会增加计算复杂度和过拟合风险。
    • 词向量编码后使用树模型和LR,谁的精度高,为什么?这个问题没有确定性答案,可能取决于数据集特征、参数设置、随机因素等。
  • 步骤5:通过上述步骤,请回答下面问题 - 词向量的维度会影响到模型精度吗?一般来说,词向量的维度越高,则表示单词语义信息和关联关系的能力越强;但同时也会增加计算复杂度和过拟合风险。 - 词向量编码后使用树模型和LR,谁的精度高,为什么?这个问题没有确定性答案,可能取决于数据集特征、参数设置、随机因素等。

  • 回答1:词向量的维度会影响到模型精度吗?一般来说,词向量的维度越高,则表示单词语义信息和关联关系的能力越强;但同时也会增加计算复杂度和过拟合风险。这是一个正确而且合理的回答。

  • 回答2:词向量编码后使用树模型和LR,谁的精度高,为什么?这个问题没有确定性答案,可能取决于数据集特征、参数设置、随机因素等。这是一个不完整而且不具体的回答。你可以尝试给出一个基于实验结果或者理论分析的推测,并说明你所依据或假设的条件。例如:

假设我们使用了相同大小、相同分布、相同随机种子划分出来的训练集和测试集,并且对三种分类器都采用了默认参数设置,则我们可以观察到,在我们给出的示例数据集上,逻辑回归模型(LR)比决策树模型(DT)有更高的准确率。这可能是因为逻辑回归是一种线性分类器,而句子向量之间可能存在较强或较明显地线性可分性;而决策树是一种非线性分类器,它通过划分特征空间来构建复杂模型。

#### 任务4:LSTM意图分类

LSTM(Long Short-Term Memory)是一种特殊的循环神经网络,在文本分类任务中表现良好。LSTM可以通过对输入文本进行序列建模来捕捉文本中的长期依赖关系,并对文本进行分类。

  • 步骤1:搭建LSTM模型,具体结构为Embedding层、LSTM层和全连接层;

    • Embedding层:将输入的文本转换为词向量表示,降低维度并保留语义信息;
    • LSTM层:使用长短期记忆单元处理词向量序列,学习文本中的上下文信息,并输出隐藏状态;
    • 全连接层:将LSTM层的最后一个隐藏状态作为特征输入,使用softmax函数输出每个类别的概率。
      在这里插入图片描述
  • 步骤2:使用任务3中的词向量初始化Embedding层
    在这里插入图片描述

  • 步骤3:LSTM模型的训练,验证和预测
    在这里插入图片描述

  • 步骤4:通过上述步骤,请回答下面问题

    • Embedding层的精度与初始化方式相关吗?
    • LSTM模型精度与文本最大长度是否相关?
      根据搜索结果,Embedding层的精度与初始化方式相关。不同的初始化方式会影响词向量的学习速度和效果。一般来说,有三种常用的初始化方式:
  • 随机初始化:使用均匀分布或正态分布生成随机数作为词向量。

  • 预训练初始化:使用已经在大规模语料上训练好的词向量,如Word2Vec或GloVe。

  • 词频初始化:使用词频或逆文档频率等统计信息作为词向量。

预训练初始化通常可以提高Embedding层的精度,因为它可以利用先验知识和语义信息。但是,如果预训练词向量和目标任务不匹配,或者存在未登录词,那么随机初始化或者词频初始化可能会更好。

LSTM模型精度与文本最大长度是否相关,取决于具体的任务和数据集。一般来说,文本最大长度应该能够覆盖大部分样本的实际长度,并且不要过长或过短。如果文本最大长度过长,那么可能会导致LSTM层处理很多无用的填充符号,并且增加计算开销和梯度消失的风险。如果文本最大长度过短,那么可能会导致LSTM层损失很多有用的信息,并且降低模型表达能力。

#### 任务5:BERT意图分类

BERT(Bidirectional Encoder Representations from Transformers)是一种预训练语言模型,它可以生成高质量的文本表示,并被广泛应用于文本分类任务。BERT使用双向Transformer编码器来捕捉文本中的上下文信息,从而获得更好的表示效果。

  • 步骤1:加载BERT模型,对文本进行编码
    在这里插入图片描述

  • 步骤2:BERT模型的训练,验证和预测
    在这里插入图片描述

  • 步骤3:通过上述步骤,请回答下面问题

    • BERT模型精度与文本最大长度是否相关?
    • BERT模型分类时最后全连接层的输入是什么含义?
      在这里插入图片描述
      根据一些网上的资料,BERT模型的精度与文本最大长度是有关系的。BERT模型由于position-embedding的限制只能处理最长512个词的句子。如果文本长度超过512,那么就需要进行截断或者分段处理,这可能会影响模型对上下文信息的理解和编码,从而降低模型的精度。一般来说,文本越长,信息量越大,模型需要更多的参数和计算资源才能有效地学习到语言表示。

#### 任务6:T5/Prompt意图分类

Prompt分类(Prompt-based Classification)是一种新兴的文本分类技术,它通过将任务特定的提示文本(Prompt Text)与输入文本(Input Text)一起输入到预训练语言模型(Pre-trained Language Model)中来实现文本分类。Prompt分类具有高度灵活性和可扩展性,并已经在多个NLP任务中取得了优异的性能。

Prompt分类的基本思想是将文本分类任务转化为掩码语言模型(Masked Language Modeling,MLM)任务,通过预测掩码位置([MASK])的输出来判断类别。例如,通过文本描述判定天气好坏,类别【好、坏】:常规方法是在BERT模型之后添加一个分类层,哪个输出节点概率最大则划分到哪一类别;而Prompt分类方法是在输入文本前后添加提示文本,并在类别位置添加掩码标记:

  • 输入:[CLS] 文字描述:今天阳光明媚,微风拂面。 天气:[MASK] [SEP]
  • 输出:天气:好

Prompt分类的优势是可以利用预训练语言模型的强大表达能力和泛化能力,无需额外增加参数或进行微调。Prompt分类的挑战是如何设计合适的提示文本来引导模型进行正确的推理和预测。

Prompt分类是一种利用预训练语言模型的强大表达能力和泛化能力,无需额外增加参数或进行微调的方法,它通过在输入中插入模板来引导模型进行正确的推理和预测¹²。BERT分类是一种基于BERT模型的文本分类方法,它需要对BERT模型进行微调,以适应特定的下游任务⁴⁵⁶。

Prompt分类和BERT分类在精度上的区别可能取决于不同的因素,如数据集的大小、质量和分布,模型的结构和参数,以及提示文本的设计和选择¹²。一般来说,Prompt分类的优势是可以减少计算资源的消耗,提高模型的泛化能力和适应性,而BERT分类的优势是可以更好地利用标注数据,提高模型的准确性和稳定性¹²⁵。

自定义提示对模型的精度是有影响的,因为不同的提示可能会激发模型不同的语义理解和推理能力¹²。一般来说,提示应该尽可能地简洁、清晰和相关,以避免引入噪声或歧义,同时也应该尽可能地充分、丰富和多样,以提高模型的表达能力和泛化能力¹²。例如,对于意图识别的任务,可以尝试以下两种不同的提示:

  • 提示1:这句话的意图是什么?[MASK]
  • 提示2:这句话的意图是[MASK],对吗?

可以根据您的数据集和任务来选择和设计合适的提示,也可以参考一些已有的提示生成和优化的方法¹²³。

参考:https://kexue.fm/archives/7764

  • 步骤1:加载BERT模型 或 T5模型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 步骤2:将样本加入自定义prompt

  • 步骤3:使用[MASK]分类进行训练和预测
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后精度可以达到60~70,增加epoch还可以继续提升。

  • 步骤4:通过上述步骤,请回答下面问题

    • Prompt分类比BERT分类相比,在精度上有什么区别?
    • 自定义prompt对模型的精度是否有影响?可以尝试2种不同的prompt。
  • Prompt分类和BERT分类的区别是,Prompt分类不需要引入新的参数,而是利用预训练模型中已有的词汇来构造任务相关的输入模板。这样可以提高模型的泛化能力和样本效率。

  • 自定义prompt对模型的精度是否有影响取决于prompt的设计和任务的难度。一般来说,prompt越能表达任务的语义,越能激活预训练模型中相关的知识,就越有利于提高精度。但是,如果prompt过长或过于复杂,可能会降低效果或增加计算成本。因此,选择合适的prompt很重要。

参考:2023/3/7(1) PromptBERT|结合Prompt+对比学习,超越SimCSE两个多点 - 知乎. https://zhuanlan.zhihu.com/p/440790271
(2) 【综述】Prompting: 更好地将语言模型应用到NLP任务 - 知乎. https://zhuanlan.zhihu.com/p/386470305
(3) Prompt方法综述 - 知乎. https://zhuanlan.zhihu.com/p/431788068
(4) Prompt Pre-training:迈向更强大的Parameter-Efficient Prompt … https://zhuanlan.zhihu.com/p/428512183
(5) [ACL 2022] PERFECT 无需人工模板的prompt learning新框架 - 知乎. https://zhuanlan.zhihu.com/p/611645619
(6) Prompt方法综述 - 知乎. https://zhuanlan.zhihu.com/p/431788068

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

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

相关文章

2.6 棋盘覆盖

在一个2*x2‘个方格组成的棋盘中,若怡有一个方格与其他方格不同,则称该方格为特殊方格,且称该棋盘为一特殊棋盘。显然,特殊方格在棋盘上出现的位置有 4种情形因而对任何k0,有4‘种特殊棋盘。图2-4 申的特殊棋益是12时 …

【项目设计】高并发内存池(七)[性能测试和提升]

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…

初学JavaScript有困难?看过来,详细安排

你肯定没有尝试归纳,可以把每天学习的内容,用思维导图整理归类,这样看着就清晰多了。把基础入门做成5天的学习计划,其实很简单,你可以参考以下内容 第一天学习目标: 1. 理解变量是存储数据的“容器” 2.…

Linux -- 磁盘存储管理 分区类型(MBR,GPT)

首先呢,大家要清楚,在 Linux 上,分区类型有两种 :一种是MBR, 一种 GPT ~!!!我们所谓的分区、分盘,其实是一回事儿。分区,就是对磁盘划分 逻辑边界, 注意是逻辑…

LAY-EXCEL导出excel并实现单元格合并

通过lay-excel插件实现Excel导出,并实现单元格合并,样式设置等功能。更详细描述,请去lay-excel插件文档查看,地址:http://excel.wj2015.com/_book/docs/%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B.html一、安装这里使用Vue…

带你感受一次JVM调优实战

本文分成两部分,先了解理论,然后再进行实战。 理论篇 1.1 调优目标 JVM调优的两大目标是: 提高应用程序的性能和吞吐量: 通过优化JVM的垃圾回收机制、调整线程池大小和优化代码,可以提高应用程序的性能和吞吐量。…

见证 2022re:Invent 大会及亚马逊云科技发展有感

文章目录📋前言🎯关于亚马逊云科技 re:Invent 全球大会🧩什么是亚马逊云科技 re:Invent 全球大会🧩回顾往届大会🎯回顾2022亚马逊云科技 re:Invent 全球大会🧩前言🧩宣告大数据迈向 Serverless …

【Linux】进程间通信概念匿名管道

文章目录进程间通信介绍进程间通信的本质进程间通信的目的进程间通信的分类管道匿名管道匿名管道原理pipe函数匿名管道通信的4情况5特点读取堵塞写入堵塞写端关闭读端关闭总结进程间通信介绍 进程间通信简称IPC(Interprocess communication):进程间通信…

【信息安全】快速了解密码的加密加盐处理

前言在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的。最经典的就是密码了。如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉,这样做是非常危险的。一、常规的登录认证(…

MySQL实战之事务到底是隔离的还是不隔离的

1.前言 我们在MySQL实战之事务隔离:为什么你改了我还看不见讲过事务隔离级别的时候提到过,如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的…

MAC(m1)-VMWare Fushion安装Windows11

镜像下载地址:登录 账号:11360XXXXX@qq.com 密码:ZXXXSXX19XX 参考:VMware fusion虚拟机安装Win10系统的详细教程_IT大力水手的博客-CSDN博客_vmware fusion安装 uefi和bios有什么区别?uefi和bios的区别详细分析 _ 电脑系统城 设置密码

分布式事务相关问题

分布式事务刚开始是为解决单服务多数据库资源的场景而诞生的。随着技术的发展,特别是 SOA 分布式应用架构以及微服务时代的到来,服务变成了基本业务单元。因此,又产生了跨服务的分布式事务需求。 基于单个服务单一数据库资源访问的事务&#…

在 Python 中拆分具有多个分隔符的字符串

要使用多个定界符拆分字符串: 使用 re.split() 方法,例如 re.split(r,|-, my_str)。re.split() 方法将拆分所有出现的分隔符之一的字符串。 import re# 👇️ 用 2 个分隔符拆分字符串my_str fql,jiyik-dot,commy_list re.split(r,|-, my_…

Http协议Tomcat使用

Web基本知识 课程目标 服务器的安装和配置(了解)服务器和MyEclipse结合(了解)服务器部署项目(掌握)Http协议格式(掌握) 概念 网页,javaweb:使用java语言编写网页 一.网页分类 静态web资源:页面的数据不会发生改变。html,css动…

传统手工数据采集耗时耗力?Smartbi数据填报实现数据收集分析自动化

企业在日常经营管理过程中,往往需要收集很多内外部的信息,清洗整理后再进行存储、分析、呈现、决策支持等各种作业,如何高效收集结构化数据是企业管理者经常要面对的问题。传统手工的数据采集方式不仅耗费了大量人力时间成本,还容…

0102Bean配置和解析-Bean生命周期-spring

文章目录1 前言2 第一阶段-Bean信息配置阶段2.1 配置方式2.2 配置信息2.3 配置示例2.3.1 注解方式配置2.3.2 xml文件配置2.3.3 API方式3 第二阶段-Bean元信息解析阶段3.1 注解方式解析3.1.1 AnnotatedBeanDefinitionReader解析过程3.1.2 ClassPathBeanDefinitionScanner解析过程…

MapTask工作机制

目录 (1)Read阶段 (2)Map阶段 (3)Collect收集阶段 (4)Spill阶段 (5)Merge阶段 (1)Read阶段 MapTask通过InputFormat获得的Recor…

单协议 2.4GHz CC2651R31T0RGZR/CC2651R31T0RKPR无线MCU 802.15.4,蓝牙5.2

CC2651R31T0RGZR描述:具有 352KB 闪存的 SimpleLink 32 位 Arm Cortex-M4 单协议 2.4GHz 无线 MCU 48-VQFN -40C ~ 105C48QFN(明佳达电子)【介绍】CC2651R3器件是一款单协议 2.4 GHz 无线微控制器 (MCU),支持以下协议:…

35- tensorboard的使用 (PyTorch系列) (深度学习)

知识要点 FashionMNIST数据集: 十种产品的分类. # T-shirt/top, Trouser, Pullover, Dress, Coat,Sandal, Shirt, Sneaker, Bag, Ankle Boot.writer SummaryWriter(run/fashion_mnist_experiment_1) # 网站显示一 tensorboard的使用 在网站显示pytorch的架构:1.1 …

常规非常规的卷及操作

最近看论文看到深度卷积的内容,然后就想着学习一下,发现论文中说的深度卷积并不是真正的深度卷积,感觉是分组卷积的一种,但是对于论文中得使用方式又有点不理解,就留下了一个问题放在了博客的最后,这里记录…