技术标签: 论文阅读 语言模型 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无监督跨语言词嵌入
文章浏览阅读118次。tarsphp 文档地址https://www.bookstack.cn/read/TarsPHP/ 谢谢大佬的整理安装需要组件例如,在Centos下,执行:yum install glibc-develyum install gccyum install gcc-c++yum install lrzszyum install -y git下载tarsphp 架构包下载TarsFramework源..._windows tarsphp安装
文章浏览阅读948次,点赞24次,收藏26次。近日,SAP官方发布最新BWH Benchmark基准测试结果,浪潮信息NF8480G7四路HANA一体机以每小时执行17044次查询的成绩,刷新该测试最高纪录,为全球金融、高端制造、零售、能源等行业用户的商业智能分析,提供高效、领先的算力平台,从容应对快速多变的商业环境。
文章浏览阅读1.1w次,点赞5次,收藏22次。开发板购买链接https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=626366733674开发板简介开发环境搭建 windows源码示例: 0_Hello Bug (ESP_LOGX与printf) 工程模板/打印调试输出 1_LED LED亮灭控制 ..._基于vscode的esp32开发,读取dht11传感器数据到led显示屏上
文章浏览阅读623次。简单题,但是不会_a game about increasing sequences
文章浏览阅读2.3k次。OE非:输出使能,本实验接地使用。记得接地!单片机手动接地!J24模块!RCLK:储存寄存器时钟输入SRCLR非:复位,本单片机默认接VCC,不用管。SRCLK:移位寄存器时钟输入SER:串行输入QA-QH:8位并行输出QH非:串行输出 本实验595的工作:SRCLK每接到一个上升沿,就把SER的值储存起来;当存够8位后,给RCLK一个上升沿,储存起来的数就被放到QA-QH,第一个存进来的数放到QH(高位的数放高位)。(自己的理解,不知对错)列由P0控..._stc8g 驱动74hc595
文章浏览阅读492次。文件树如下:首先是utils包:functions.py配置代码如下:from flask_sqlalchemy import SQLAlchemyfrom flask_debugtoolbar import DebugToolbarExtensionfrom flask_restful import Apifrom flask_marshmallow import Marshmallowdb = SQLAlchemy()debugtoolbar = DebugToolb_get_db_uri
文章浏览阅读4.3k次。mysql5.6主从库安装与配置关闭防火墙//临时关闭systemctl stop firewalld//禁止开机启动systemctl disable firewalldmysql5.6安装保证可以联通外网。安装wgetyum install wget检查系统是否安装其他版本的mysql数据yum list installed | grep mysqlyum ..._mysql的主从库部署
文章浏览阅读655次。运算符分为:1.算术运算符2.条件运算符3.逻辑运算符4.位运算符5.三元运算符在Lua中不支持位运算符和三位运算符,但是可以间接实现三元运算符1.算术运算符(+、-、*、/、%、^(幂运算符))注意:Lua中没有++,–,+=,-=,*=,/=,%=2.条件运算符(and ,or,not) 注意:Lua中的条件运算符就这三个,没有&&,||,!=3.逻辑运算符(> ,<, =, >=, <=, ==,~=) 注意:Lua中的不等于是"~="pri_lua &&
文章浏览阅读1.7k次。点击上方“3D视觉工坊”,选择“星标”干货第一时间送达作者:梦寐mayshinehttps://zhuanlan.zhihu.com/p/129681081本文转载自知乎,作者已授权,未..._图像 3d模型 csdn
文章浏览阅读1.2w次,点赞9次,收藏54次。首先:A题是连续型问题,是“数值分析”领域的内容,需要熟练掌握偏微分方程以及精通将连续性方程离散化求解的编程能力。这时,队伍里最好是有一个纯数学基础好的(偏微分方程、复变函数、信号与系统等等),还需要有两个擅长连续型问题编程的同学,两个人都比较擅长编程这一点很重要,既可以防止一个人编程的话,思路可能有所偏颇,又可以使得两个人在相互碰撞中产生新的灵感。B题的话可能是离散型问题,对于B题在编程上,一定需要比较熟悉计算机的“算法与数据结构”这类离散型编程问题的同学。C题属于大数据类问题,几乎都是关于数_2021年美赛b题思路
文章浏览阅读780次。LAN IP地址网站划分详解IP和子网掩码我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IPA类IP段 0.0.0.0 到127.255.255.255B类IP段 128.0.0.0到191.255.255.255C类IP段 192.0.0.0到223.255.255.255 XP默认分配的子网掩码每段只有255或0 A类的默认子网_网址划分
文章浏览阅读637次,点赞29次,收藏14次。javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。