技术标签: 论文阅读 语言模型 xml 人工智能 自然语言处理
【论文链接】:https://arxiv.org/abs/1901.07291
【代码链接】:https://github.com/facebookresearch/XLM
【来源】:由 Guillaume Lample 和 Alexis Conneau 等人于2019年提出的,他们是 Facebook AI Research (FAIR) 的研究员。
XLM模型代表了一种强大而灵活的方法,用于训练神经网络模型来理解和生成多语言的自然语言文本,并有可能在多语言环境中实现更有效和高效的自然语言处理。
随着BERT、GPT预训练语⾔模型的兴起,这些⽅法也被⾃然⽽然的⽤在了多语⾔预训练任务上。通过在 BERT、GPT等成熟的NLP模型结构上同时学习多个语⾔的语料,并设计多语⾔对⻬任务,实现了 Multilingual预训练语⾔模型,应⽤到下游各种语⾔的任务中。
Facebook在Crosslingual language model pretraining(NIPS 2019)⼀⽂中提出XLM预训练多语⾔模型,整体思路基于BERT,并提出了针对多语⾔预训练的3个优化任务。后续很多多语⾔预训练⼯作都建⽴在XLM的基础上,我们来详细看看XLM的整体训练过程。
⾸先,需要构造⼀个多语⾔的vocabulary list。XLM让所有语⾔共⽤同⼀个词表,**利⽤Byte Pair Encoding (BPE)的⽅法从所有语⾔中采样⽂本构造词典。为了提升low-resource语⾔采样⽐例,缓解预训练模型偏向high-resource语⾔,在采样过程中会对各个语⾔采样⽐例做⼀定的矫正。**通过多种语⾔共⽤⼀个BPE词表的⽅法,便于不同语⾔的token embedding在隐空间对⻬,也能提取到不同语⾔共⽤的token。
模型预训练主要包括两个任务,分别是MLM和TLM。
也可以根据另⼀种语⾔的信息预测。此外,XLM引⼊了language embedding,⽤来标明每个位置上的token属于哪个语⾔。XLM的两个预训练任务如下图所示。
跨语言语言模型预训练(XLM)是一种自然语言处理技术,即在大量的多语言文本数据上预训练神经网络模型,以提高其理解和生成多语言的能力。XLM是在2019年Facebook AI的一篇研究论文中首次提出的。
XLM方法建立在语言建模预训练的成功基础上,预训练涉及训练神经网络,以预测一个句子中的下一个单词,给定的是以前的单词。XLM背后的想法是将这种方法扩展到多种语言,使用一个可以针对特定语言进行微调的共享模型。
为了预训练XLM模型,使用了大量的多语言文本数据。该模型被训练来预测一个句子中的下一个词,给定一个支持的语言中的前一个词的序列。XLM模型结合使用各种技术,如屏蔽语言建模、翻译语言建模和语言ID预测,以提高其理解和生成多语言文本的能力。
一旦XLM模型经过预训练,它就可以针对特定的语言任务进行微调,如机器翻译、命名实体识别和情感分析。微调包括在较少的特定任务数据上训练XLM模型,以使其适应特定语言或任务的细微差别。
XLM已被证明在提高语言模型的跨语言性能方面非常有效,并已被用于各种自然语言处理任务,包括机器翻译、跨语言文本分类和零点跨语言转移。
跨语言模型预训练(XLM)对自然语言处理(NLP)领域做出了多项重大贡献:
改进了跨语言转移学习: XLM改善了语言模型在跨语言迁移学习任务中的表现。通过对多语言文本数据进行预训练,XLM可以学习理解和生成跨语言的语言,从而更好地从一种语言转移学习到另一种语言。
对低资源语言有更好的支持: XLM还提高了语言模型支持低资源语言的能力。通过对大量的多语言文本数据进行预训练,XLM可以学习以一种对不同语言的数据可用性变化更加稳健的方式来表示语言。
启用零距离的跨语言转移: XLM已经实现了零次跨语言转换,这意味着一个模型可以在一种语言上进行训练,然后用于另一种语言的预测,而无需任何额外的训练数据。这有可能大大减少支持多语言应用所需的数据量。
启用零点跨语言转换意味着语言模型可以在没有明确训练的语言中进行预测,而无需任何额外的训练数据。这是通过在大量的多语言文本数据上对模型进行预训练来实现的,这使它能够学会理解和生成多语言的语言。
例如,如果一个语言模型是在英语文本数据上训练的,然后被用来生成西班牙语文本,它可以不需要在西班牙语数据上做任何额外的训练。该模型可以利用其学到的语言表征来理解和生成新语言的文本,即使它在训练期间没有接触过这种语言。
实现零距离跨语言转换对多语言应用有重大意义,因为它减少了对每种语言的单独训练数据和模型的需求。这可以大大降低多语言NLP系统的计算成本和数据要求,并可以使其更容易在训练数据稀缺或不可用的语言中部署模型。
多语言机器翻译方面的进展: XLM也推动了多语言机器翻译的发展,因为它可以使用一个单一的模型在多种语言之间进行翻译。这有可能降低多语言翻译系统的计算成本和数据要求。
总的来说,XLM为开发更有效和高效的跨语言NLP方法做出了贡献,对改善跨语言的语言理解和生成具有意义。
XLM方法涉及到在大量的多语言文本数据上预训练一个神经网络模型,使用的任务组合包括遮蔽语言建模、翻译语言建模和语言ID预测。在预训练过程中,该模型学习预测一个句子中的下一个词,而这个词是来自支持的语言之一的前一个词的序列。
XLM方法旨在学习一种适用于多种语言的语言共享表示。为了实现这一目标,该模型同时在多种语言的文本数据上进行训练,并对模型的参数进行优化,以使损失函数最小化,该损失函数反映了该模型在序列中预测下一个单词的能力如何。
一旦XLM模型在多语言文本数据上进行了预训练,它就可以在特定的任务上进行微调,如情感分析或机器翻译。在微调过程中,该模型在特定的任务数据上进行训练,以进一步完善在预训练期间学到的语言共享表示。
XLM方法还包括对转换器结构的一些修改,以提高其对多语言文本数据的性能。例如,XLM使用跨语言关注机制,使模型能够关注不同语言的单词和短语。
总的来说,XLM论文提出了一种训练神经网络模型以理解和生成多语言文本的综合方法,推动了多语言自然语言处理领域的先进水平。
跨语言模型预训练(XLM)论文的方法可以概括为以下几点:
数据收集和准备: XLM的作者从各种来源收集了大量的多语言文本数据,包括维基百科、新闻文章和网页。然后,他们对数据进行了预处理,以去除噪音,对文本进行标记,并将其分割成句子。
模型架构: XLM模型是基于transformer架构,它使用自我注意机制来捕捉自然语言文本中的长距离依赖关系。XLM模型包括对transformer架构的一些修改,以提高其对多语言文本数据的性能,如跨语言的关注机制。
预训练: XLM模型在多语言文本数据上进行预训练,使用的任务组合包括屏蔽语言建模、翻译语言建模和语言ID预测。在预训练过程中,该模型学习预测一个句子中的下一个单词,这些单词来自支持的语言之一的前一个序列。预训练过程旨在学习一种适用于多种语言的共享语言表示。
微调: 一旦XLM模型在多语言文本数据上进行了预训练,它就可以在特定的任务上进行微调,例如情感分析或机器翻译。在微调过程中,该模型在特定的任务数据上进行训练,以进一步完善在预训练期间学到的语言共享表征。
评估: XLM的作者在几个基准数据集上评估了该模型的性能,包括跨语言的自然语言推理和跨语言的句子检索。他们还通过训练一个模型在多种语言之间进行翻译,证明了XLM在机器翻译方面的有效性。
总的来说,XLM论文的方法代表了一种训练神经网络模型以理解和生成多语言自然语言文本的综合方法,它推动了多语言自然语言处理的最新进展。
跨语言语言模型预训练(XLM)论文提出了对转换器架构的若干创新修改,以提高其对多语言文本数据的性能。该论文的一些主要创新和贡献包括:
总的来说,XLM论文对转换器的结构提出了几个创新的修改,并引入了一个强大的预训练方法,以便在多语言环境中实现有效和高效的自然语言处理。
跨语言语言模型预训练(XLM)论文在多语言环境的自然语言处理(NLP)中有着广泛的潜在应用。XLM模型的一些关键应用包括:
总的来说,XLM模型有可能在多语言环境中实现更有效和高效的自然语言处理,并可应用于涉及多语言文本数据的广泛的NLP任务。
虽然跨语言模型预训练(XLM)论文为多语言自然语言处理提出了一个强大的方法,但该模型有几个局限性,应予以考虑:
总的来说,虽然XLM模型是一种强大的多语言自然语言处理方法,但在将其应用于特定任务或应用时,应考虑到其局限性。
XLM(跨语言语言模型)和BERT(来自变换器的双向编码器表示法)模型都是强大的自然语言处理模型,但它们之间有一些关键的区别:
总的来说,XLM是专门为多语言自然语言处理任务而设计的,而BERT更常用于英语的单语言任务。然而,这两种模型都在广泛的NLP任务中表现出令人印象深刻的性能。
XLM(跨语言模型预训练)的输入和输出取决于它被用于的具体任务。
在预训练阶段,XLM的输入是一串来自一种或多种语言的标记。每个标记被表示为一个学习的嵌入向量,其中包括一个语言嵌入以表示该标记的语言。该序列通过一个多层转化器架构,该架构在所有语言中都是共享的,并用于预测该序列中的屏蔽标记(MLM目标)和下一句话(TLM目标)。
在微调阶段,XLM的输入取决于具体的下游任务。例如,在多语言情感分类任务中,输入可能是一个或多个语言的文本序列,而输出可能是一个二进制情感标签。微调阶段通常包括在预训练的XLM模型上添加额外的特定任务层,并对特定任务的所有参数进行微调。
总的来说,XLM模型是为处理多语言输入和输出而设计的,它的结构为学习跨语言表征而优化,可用于不同语言的广泛下游任务。
这段代码使用transformers库加载XLM模型和标记器,对英语和法语的样本输入序列进行标记,将序列填充到相同的长度,并通过XLM模型进行前向传递,得到最终的隐藏状态和集合输出。输出的形状被打印出来,以供验证。请注意,这只是一个例子,XLM模型可以用于标记化和编码之外的各种下游任务。
import torch
from transformers import XLMModel, XLMTokenizer
# Define the XLM model architecture and tokenizer
model = XLMModel.from_pretrained('xlm-mlm-en-2048')
tokenizer = XLMTokenizer.from_pretrained('xlm-mlm-en-2048')
# Define a sample input sequence in English and French
input_text = ["Hello, world!", "Bonjour, le monde!"]
# Tokenize the input sequence into subwords
input_ids = [tokenizer.encode(text) for text in input_text]
# Pad the input sequences to the same length
max_length = max(len(ids) for ids in input_ids)
input_ids = [ids + [0]*(max_length - len(ids)) for ids in input_ids]
# Convert the input sequences to PyTorch tensors
input_ids = torch.tensor(input_ids)
# Forward pass through the XLM model
outputs = model(input_ids)
# Get the final hidden states and pooled output
hidden_states = outputs.last_hidden_state
pooled_output = outputs.pooler_output
# Print the output shape
print(hidden_states.shape) # (2, max_length, 2048)
print(pooled_output.shape) # (2, 2048)
这段代码使用transformers库加载XLM模型和标记器,对英语和法语的样本输入序列进行标记,将序列填充到相同的长度,并通过XLM模型进行前向传递,得到最终的隐藏状态和集合输出。输出的形状被打印出来,以供验证。请注意,这只是一个例子,XLM模型可以用于标记化和编码之外的各种下游任务。
import tensorflow as tf
from transformers import TFXLMModel, XLMTokenizer
# Define the XLM model architecture and tokenizer
model = TFXLMModel.from_pretrained('xlm-mlm-en-2048')
tokenizer = XLMTokenizer.from_pretrained('xlm-mlm-en-2048')
# Define a sample input sequence in English and French
input_text = ["Hello, world!", "Bonjour, le monde!"]
# Tokenize the input sequence into subwords
input_ids = [tokenizer.encode(text) for text in input_text]
# Pad the input sequences to the same length
max_length = max(len(ids) for ids in input_ids)
input_ids = [ids + [0]*(max_length - len(ids)) for ids in input_ids]
# Convert the input sequences to TensorFlow tensors
input_ids = tf.constant(input_ids)
# Forward pass through the XLM model
outputs = model(input_ids)
# Get the final hidden states and pooled output
hidden_states = outputs.last_hidden_state
pooled_output = outputs.pooler_output
# Print the output shape
print(hidden_states.shape) # (2, max_length, 2048)
print(pooled_output.shape) # (2, 2048)
最近的研究证明了生成式预训练对英语自然语言理解的有效性。在这项工作中,我们将这种方法扩展到多种语言,并展示了跨语言预训练的有效性。我们提出了两种学习跨语言语言模型 (XLM) 的方法:一种是仅依赖单语言数据的无监督方法,另一种是利用具有新的跨语言语言模型目标的并行数据的监督方法。我们在跨语言分类、无监督和监督机器翻译方面获得了最先进的结果。在 XNLI 上,我们的方法以 4.9% 的准确率绝对增益推动了最先进的技术水平。在无监督机器翻译中,我们在 WMT'16 德语-英语上获得了 34.3 BLEU,将之前的技术水平提高了超过 9 BLEU。在有监督的机器翻译上,我们在 WMT'16 罗马尼亚语-英语上获得了 38.5 BLEU 的最新技术水平,比之前的最佳方法高出 4 个以上的 BLEU。我们的代码和预训练模型将公开发布。
句子编码器的生成预训练(Radford 等人,2018 年;Howard 和 Ruder,2018 年;Devlin 等人,2018 年)已经在众多自然语言理解基准上取得了很大的进步(Wang 等人,2018 年)。在这种情况下,Transformer (Vaswani et al., 2017) 语言模型是在大型无监督文本语料库上学习的,然后在自然语言理解 (NLU) 任务上进行微调,例如分类 (Socher et al., 2013) 或自然语言推理(Bowman 等人,2015 年;Williams 等人,2017 年)。尽管人们对学习通用句子表示的兴趣激增,但该领域的研究基本上是单一语言的,并且主要集中在英语基准上(Conneau 和 Kiela,2018 年;Wang 等人,2018 年)。学习和评估多种语言的跨语言句子表示的最新进展(Conneau 等人,2018b)旨在减轻以英语为中心的偏见,并建议可以构建通用的跨语言编码器,将任何句子编码成共享嵌入空间。
在这项工作中,我们展示了跨语言语言模型预训练在多个跨语言理解 (XLU) 基准上的有效性。准确地说,我们做出了以下贡献:
我们的工作建立在 Radford 等人的基础之上。 (2018);霍华德和罗德 (2018);德夫林等人。 (2018) 研究预训练 Transformer 编码器的语言建模。他们的方法使 GLUE 基准测试的几个分类任务有了显着改进(Wang 等人,2018 年)。拉马钱德兰等人。 (2016) 表明,语言建模预训练还可以显着改进机器翻译任务,即使对于存在大量并行数据的高资源语言对(例如英语-德语)也是如此。在我们开展工作的同时,BERT 存储库 1 上展示了使用跨语言语言建模方法进行跨语言分类的结果。我们将这些结果与第 5 节中的方法进行比较。
文本表示的对齐分布有着悠久的传统,从词嵌入对齐和 Mikolov 等人的工作开始。 (2013a) 利用小型词典来对齐来自不同语言的单词表示。一系列后续研究表明,跨语言表示可用于提高单语表示的质量(Faruqui 和 Dyer,2014),正交变换足以对齐这些词分布(Xing 等人,2015),并且所有这些技术都可以应用于任意数量的语言(Ammar 等人,2016 年)。按照这一工作路线,跨语言监督的需求进一步减少(Smith 等人,2017 年),直到它被完全删除(Conneau 等人,2018a)。在这项工作中,我们通过对齐句子的分布并减少对并行数据的需求,使这些想法更进一步。在对齐来自多种语言的句子表示方面有大量工作。
通过使用平行数据,Hermann 和 Blunsom (2014);康诺等。 (2018b); Eriguchi 等人。 (2018) 调查了零样本跨语言句子分类。但最近最成功的跨语言编码器方法可能是 Johnson 等人的方法。 (2017) 用于多语言机器翻译。他们表明,通过使用单个共享的 LSTM 编码器和解码器,单个序列到序列模型可用于为许多语言对执行机器翻译。他们的多语言模型在低资源语言对上的表现优于现有技术,并启用了 1 https://github.com/google-research/bert 零样本翻译。按照这种方法,Artetxe 和 Schwenk(2018 年)表明生成的编码器可用于生成跨语言句子嵌入。他们的方法利用了超过 2 亿个平行句子。他们通过在固定句子表示之上学习分类器,在 XNLI 跨语言分类基准(Conneau 等人,2018b)上获得了最新的技术水平。虽然这些方法需要大量并行数据,但最近在无监督机器翻译方面的工作表明,句子表示可以以完全无监督的方式对齐(Lample 等人,2018a;Artetxe 等人,2018)。例如,Lample 等人。 (2018b) 在不使用平行句的情况下,在 WMT'16 德语-英语上获得了 25.2 BLEU。与这项工作类似,我们表明我们可以以完全无监督的方式对齐句子的分布,并且我们的跨语言模型可用于广泛的自然语言理解任务,包括机器翻译。
与我们最相似的工作可能是 Wada 和 Iwata (2018) 的工作,作者在其中使用来自不同语言的句子训练 LSTM(Hochreiter 和 Schmidhuber,1997)语言模型。它们共享 LSTM 参数,但使用不同的查找表来表示每种语言中的单词。他们专注于对齐单词表示,并表明他们的方法在单词翻译任务上效果很好。
在本节中,我们介绍了我们在整个工作中考虑的三个语言建模目标。其中两个只需要单语数据(无监督),而第三个需要平行句子(有监督)。我们考虑 N 种语言。除非另有说明,我们假设我们有 N 个单语语料库 {Ci}i=1…N ,我们用 ni 表示 Ci 中的句子数。
q i = p i α ∑ j = 1 N p j α w i t h p i = n i ∑ k = 1 N n k q_i = \frac{p_i^\alpha}{\sum_{j=1}^Np_j^\alpha} \ \ with \ \ \\ p_i = \frac{n_i}{\sum_{k=1}^Nn_k} qi=∑j=1Npjαpiα with pi=∑k=1Nnkni
我们认为α=0.5。用这种分布进行抽样,增加了与低资源语言相关的标记的数量,缓解了对高资源语言的偏见。特别是,这可以防止低资源语言的词在字符层面上被分割。
在本节中,我们将解释如何使用跨语言语言模型来获得:
表 1:跨语言分类准确性的结果。测试 15 种 XNLI 语言的准确性。我们报告了基于跨语言句子编码器的机器翻译基线和零样本分类方法的结果。 XLM (MLM) 对应于我们仅在单语语料库上训练的无监督方法,而 XLM (MLM+TLM) 对应于我们通过 TLM 目标利用单语和并行数据的监督方法。 ∆ 对应于平均准确度。
表2: 无监督MT的结果。在WMT’14英语-法语、WMT’16德语-英语和WMT’16罗马尼亚语中的BLEU分数。德语-英语和WMT’16罗马尼亚语英语。对于我们的结果,前两栏 表示用于预训练编码器和解码器的模型。和解码器。"-"表示该模型是 随机初始化的。EMB对应的是 EMB对应于用跨语言的查找表进行预训练。嵌入,CLM和MLM对应于 预训练的模型是根据CLM或 MLM目标进行预训练。
表3: 有监督的MT的结果。BLEU分数 在WMT’16的罗马尼亚语-英语上。以前的 Sennrich等人(2016)的最先进的方法是同时使用反译和集合模型。逆向翻译和一个集合模型。对应于在两个方向上训练的模型。
表4:语言建模的结果。当使用来自类似语言(印地语)或遥远语言(英语)的额外数据时,尼泊尔语的困惑程度。
表5:无监督跨语言词嵌入源词和其译文之间的余弦相似度和二级距离。在SemEval’17跨语言词汇的皮尔逊相关度 Camacho-Collados等人(2017)的相似性任务。
在本节中,我们通过经验证明了跨语言语言模型预训练对几个基准的强烈影响,并将我们的方法与当前的技术水平进行了比较。
在本节中,我们展示了跨语言语言模型预训练的有效性。我们的方法在跨语言分类、无监督和有监督的机器翻译方面明显优于以前的技术水平。
Cross-lingual classification跨语言分类
Unsupervised machine translation无监督机器翻译
对于无监督机器翻译任务,我们考虑 3 种语言对:英语-法语、英语-德语和英语-罗马尼亚语。我们的设置与 Lample 等人的设置相同。 (2018b),除了初始化步骤,我们使用跨语言语言建模来预训练完整模型,而不是仅使用查找表。
对于编码器和解码器,我们考虑不同的可能初始化:CLM 预训练、MLM 预训练或随机初始化,这会产生 9 种不同的设置。然后我们跟随 Lample 等人。 (2018b) 并使用去噪自动编码损失和在线反向翻译损失来训练模型。结果报告在表 2 中。我们将我们的方法与 Lample 等人的方法进行了比较。 (2018b)。对于每个语言对,我们观察到比以前的技术水平有显着改进。我们重新实现了 Lample 等人的 NMT 方法。 (2018b) (EMB),并获得了比他们论文中报道的更好的结果。我们预计这是由于我们的多 GPU 实现使用了明显更大的批次。在德语-英语中,我们最好的模型比以前的无监督方法高出 9.1 BLEU,如果我们只考虑神经无监督方法,则高出 13.3 BLEU。与仅对查找表 (EMB) 进行预训练相比,使用 MLM 对编码器和解码器进行预训练可使德语英语的 BLEU 持续显着提高多达 7 个。我们还观察到,MLM 目标预训练始终优于 CLM,英语法语从 30.4 升至 33.4 BLEU,罗马尼亚英语从 28.0 升至 31.8。这些结果与 Devlin 等人的结果一致。 (2018) 与 CLM 相比,在针对 MLM 目标进行训练时观察到 NLU 任务具有更好的泛化能力。我们还观察到编码器是预训练最重要的元素:与同时对编码器和解码器进行预训练相比,仅对解码器进行预训练会导致性能显着下降,而仅对编码器进行预训练对最终结果的影响很小BLEU 分数。
Supervised machine translation监督机器翻译
Low-resource language model低资源语言模型
Unsupervised cross-lingual word embeddings无监督跨语言词嵌入
文章浏览阅读1.9k次。工具/原料硬件:计算机操作系统:Windows7方法/步骤1.Windows7系统不能更改日期和时间的解决方法2.在本地组策略编辑器窗口,展开Windows设置 - 安全设置 - 本地策略;3.在本地策略中找到:用户权限分配,左键点击:用户权限分配,在用户权限分配对应的右侧窗口找到:更改系统时间,并左键双击:更改系统时间;4.在打开的更改系统时间 属性窗口,我们点击:添加用户或组(U);5.在选择..._win7系统时间老是自己跳变
文章浏览阅读1k次。一、ORM 模型介绍1 、 ORM 模型对象关系映射(英语:(Object Relational Mapping,简称ORM,或ORM,或OR mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。对象关系映射(Object-Relational Mapping)提供了概念性的、_pycharm怎么创建orm模型
文章浏览阅读250次。球机摄像头:球机为一体化设备,可以通过云台控制进行转动、变倍和自动聚焦等操作,若需要对设备周边切换场景监控,如大门口、户外活动场所等,可以选择球机。_前端摄像头的选型依据
文章浏览阅读177次。前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述。正则表达式有三个作用:1、匹配,也常常用于从字符串中析取信息;2、用新文本代替匹配文本;3、将一个字符串拆分为一组更小的信息块。本文将详细介绍PHP中的正则表达式基础语法 _正则表达式主要用于字符串模式匹配或字符串匹配,即什么操作
文章浏览阅读415次。很多小伙伴都遇到过win7系统打开计算机未响应的困惑吧,一些朋友看过网上零散的win7系统打开计算机未响应的处理方法,并没有完完全全明白win7系统打开计算机未响应是如何解决的,今天小编准备了简单的解决办法,只需要按照1、点击win7 32位旗舰版系统电脑的开始菜单,打开控制面板; 2、在控制面板中选择外观和个性化;的顺序即可轻松解决,具体的win7系统打开计算机未响应教程就在下文,一起来看看吧!..._电脑打开计算机未响应
文章浏览阅读498次。之前对软键盘操作,实现对点击输入框出现软键盘(即手机默认的键盘)现在有一个需求是:软键盘收起的时候,咱的输入框UI也消失。_安卓收起键盘
文章浏览阅读1.6w次,点赞14次,收藏45次。已收藏下面这个链接的方法也不错excel批处理技巧:如何制作文件档案管理系统excel批处理技巧:如何制作文件档案管理系统http://www.360doc.com/content/18/0913/13/18781560_786337463.shtml有时候我们整理文件的时候需要列出文件夹里面所有的文件名或者文件夹名,生成一个文件目录,一个个重命名然后复制到word或者记事本的方法显示有点太繁琐了。网上有一些自动生成文件目录的程序,比如我之前一直在用的DirIndex.exe。但最近我发现_bat获取文件夹下所有文件名和文件夹名称
文章浏览阅读914次,点赞18次,收藏18次。部署方式选择公有云部署,训练方式均可。增量训练的意思是在之前训练的模型基础上再次进行训练,如果事先没有进行过训练,这一项为不可选中状态。回到Postman,参数栏按如下方式填写,其中第一个KEY-VALUE值直接照写,client_id和client_secret的VALUE值分别为上一步获取的AK、SK。如果数据集质量够高,每种标签标注效果都很好,也可以在模型训练时再进行数据增强,或者直接跳过这一步。在导入界面配置导入信息,选择本地导入,导入压缩包(其他导入方式请自行测试),如图1.1.2。_easydl paddlex bml
文章浏览阅读1.4k次。Red Hat Enterprise Linux Version / UpdateRed Hat Enterprise Linux – Kernel version / redhat-release stringOracle Linux – Kernel version / release stringsRed Hat Enterprise Linux 7Red Hat Enterprise Li..._oracle linux redhat 对应关系
文章浏览阅读804次。2020年中南大学研究生招生夏令营机试题题目链接A题题目描述众所周知,彩虹有7种颜色,我们给定七个 字母和颜色 的映射,如下所示:‘A’ -> “red”‘B’ -> “orange”‘C’ -> “yellow”‘D’ -> “green”‘E’ -> “cyan”‘F’ -> “blue”‘G’ -> “purple”但是在某一..._中南大学 计算机 夏令营 笔试
文章浏览阅读2.9k次。一、介绍cmake提供了一组内置宏,用户可以自己设置。只有当该集合中的其他条件为真时,该宏才会向用户提供一个选项。语法include(CMakeDependentOption)CMAKE_DEPENDENT_OPTION(USE_FOO "Use Foo" ON "USE_BAR;NOT USE_ZOT" OFF)如果USE_BAR为true而USE_ZOT为false,则提供一个默认为ON的选项USE_FOO。否则,它将USE_FOO设._cmake_dependent_option
文章浏览阅读5.2k次,点赞10次,收藏34次。在c++中如果我们自行定义了一个构造函数,那么编译器就不会再次生成默认构造函数,我们先看如下的代码我们定义一个类,这个类没有定义构造函数,此时在下面一段代码依然可以正常使用,我们加上一个自定义构造函数:此时编译器会报错,原因很简单,我们自定义了一个构造函数,以前的默认构造函数没了,我们要用如下的方式调用:如果我们还要使用无参构造函数得在定义时自己写个好了此时不报错了,但是这样写代码执行效率没有编译器生成的自定义函数的效率高,为了解决这个问题,C++11 标准引入了一个新特性:default 函数。程_c++ =default