没有合适的资源?快使用搜索试试~ 我知道了~
首页可能是目前效果最好的开源生成式聊天机器人项目—–深入理解“用于中文闲聊的GPT2模型”项目
本文为对于GPT2 for Chinese chitchat项目的理解与学习 项目代码链接: https://github.com/yangjianxin1/GPT2-chitchat 深入理解“用于中文闲聊的GPT2模型”项目论文部分提炼1. Improving Language Understandingby Generative Pre-Training(GPT)摘要介绍最近工作NLP的半监督学习无监督预训练辅助训练目标框架无监督预训练监督预训练特定任务的输入转换文字蕴涵(Textual entailment)相似性问答与常识推理2. Language Models are Unsupe
资源详情
资源评论
资源推荐
可能是目前效果最好的开源生成式聊天机器人项目可能是目前效果最好的开源生成式聊天机器人项目—–深入理解深入理解“用于中文闲聊的用于中文闲聊的GPT2模模
型型”项目项目
本文为对于GPT2 for Chinese chitchat项目的理解与学习
项目代码链接:
https://github.com/yangjianxin1/GPT2-chitchat
深入理解深入理解“用于中文闲聊的用于中文闲聊的GPT2模型模型”项目项目论文部分提炼1. Improving Language Understandingby Generative Pre-Training(GPT)摘要介绍最近工作NLP的半监督学习无监督预训
练辅助训练目标框架无监督预训练监督预训练特定任务的输入转换文字蕴涵(Textual entailment)相似性问答与常识推理2. Language Models are Unsupervised Multitask
Learners(GPT-2)摘要介绍方法输入表示模型实验Children’s Book Test(CBT)LAMBADAWinograd Schema ChallengeReading
ComprehensionSummarizationTranslationQuestion AnsweringGeneralization vs Memorization近期工作结论3. DIALOGPT : Large-Scale Generative Pre-trainingfor Conversational
Response Generation摘要介绍数据集方法模型结构互信息最大化关于强化学习的尝试训练加速DSTC-7 Dialogue Generation Challenge关于自动测试分数高于人类的解释局限与挑
战结论代码学习及调试项目结构train.py主要功能模块汇总setup_train_args()set_random_seed()create_logger()create_model()preprocess_raw_data()preprocess_mmi_raw_data()训
练流程(可以先从这里看起,遇到问题再Ctrl+F定位对应模块)训练普通对话模型训练MMI对话模型普通对话生成(interact.py)top_k_top_p_filteringMMI对话生成
(interact_mmi.py)
论文部分提炼论文部分提炼
1. Improving Language Understandingby Generative Pre-Training((GPT))
摘要摘要
自然语言理解包括一系列不同的任务,如文本蕴涵、问答、语义相似性评估和文档分类。尽管大型的未标记文本语料库非常丰富,但用于学习这些特定任务的标记数据却非常稀少,
这使得对有偏向性的模型来说,要充分执行这些任务是一个挑战。与以前的方法相比,我们在微调期间使用任务感知的输入转换来实现有效的转换,同时要求对模型体系结构进行最
小的更改。我们在一系列自然语言理解的基准上证明了我们的方法的有效性,我们的面向一般任务模型优于使用专门为每项任务设计体系结构的训练模型,在所研究的12项任务中,
有9项显著提高了技术水平。
介绍介绍
在自然语言处理(NLP)中,有效地从原始文本中学习是减轻对监督学习依赖的关键。
然而,由于两个主要原因,利用未标记文本中超过单词级别的信息是一个挑战。
首先,不清楚什么类型的优化目标在学习对传输有用的文本表示方面最有效。最近的研究着眼于不同的目标,如语言建模,机器翻译,语篇连贯,每一种方法在不同的任务上都优于
其他方法。
第二,对于将这些学习到的表象传递给目标任务的最有效方式,目前还没有达成共识。
现有技术涉及将任务特定的更改与模型体系结构相结合。使用内部学习方案并添加辅助学习目标。这些不确定性使得开发有效的语言处理半监督学习方法变得非常困难。本文采用无
监督预训练和监督微调相结合的方法,探讨了一种半监督的语言理解任务方法。我们的目标是学习一种普遍的表达方式,这种表达方式很少适应各种各样的任务。我们假设使用人工
标注的训练示例(目标任务)访问一个大的未标记文本语料库和多个数据集。我们的设置不要求这些目标任务与未标记的语料库位于同一域中。
我们采用两阶段训练程序。首先,我们使用语言对未标记的数据进行建模,以学习神经网络模型的初始参数。随后,我们使用相应的有监督目标将这些参数应用于目标任务。
对于我们的模型架构,我们使用Transformer,它已经被证明在各种任务上都有很强的执行能力,比如机器翻译、文档生成和语法分析。与RNN等替代方案相比,这种模型选择为我
们提供了一个更结构化的内存,用于处理文本中的长期依赖项,从而在各种任务中产生健壮的转换性能。 在转换过程中,我们使用从交叉样式( traversal-style)方法派生的特定于
任务的输入自适应,该过程将结构化文本输入作为单个连续的令牌序列。正如我们在实验中所证明的,这些调整使我们能够有效地微调,对预先训练的模型的架构进行最小的更改。
最近工作最近工作
NLP的半监督学习的半监督学习
这种范式广泛应用于序列标记或文本分类,最早的方法是使用未标记的数据来计算单词级或短语级的统计信息,然后将其用作一个监督模型中的特征。在过去的几年里,研究人员已
经证明了使用单词嵌入,即在未标记的语料库上进行训练,来提高任务的平均性能。然而,这些方法主要是传递单词级的信息,而我们的目标是获取更高级别的语义。
最近的方法已经研究了从未标记的数据中学习和使用超过单词级别的语义,短语级或句子级的嵌入,可以使用未标记的语料库进行训练,已经被用来将文本编码成适合各种目标任务
的向量表示。
无监督预训练无监督预训练
无监督预训练是半监督学习的一种特殊情况,其目的是寻找一个好的初始点,而不是修改监督学习目标。早期的工作探索了该技术在图像分类和分类任务中的应用,随后的研究表
明,预训练可以作为一种正则化方案,使深层神经网络具有更好的泛化能力。在最近的工作中,该方法被用来帮助训练深度神经网络完成各种任务,如图像分类、语音识别、实体消
歧和机器翻译。
最接近我们的工作是使用目标语言对神经网络进行预训练,然后在有人监督的情况下对其进行微调。然而,尽管预训练阶段有助于捕获一些语言信息,但它们对LSTM模型的使用将
其可预测性限制在较短的范围内。与此相反,我们选择的 Transformer网络允许我们捕获更长范围的语言结构,这在我们的实验中得到了证明。此外,我们还展示了我们的模型在更
广泛的任务上的有效性,包括自然语言推理、释义和故事完成。其他方法使用预先训练语言或机器翻译模型的隐藏表示作为辅助特征,同时训练目标模型的监督模型。这涉及到每个
目标分离的任务的大量新参数,而在传输期间,我们需要对模型体系结构进行最小的更改。
辅助训练目标辅助训练目标
增加辅助无监督训练目标是半监督学习的另一种形式。Collobert和Weston的早期工作使用了各种各样的辅助NLP任务,如词性标注、分块、命名实体识别和语言模型化来改进语义角
色标注,在目标任务目标上添加一个辅助语言模型,并展示了序列标记任务的性能增益。我们的实验也使用一个辅助的目标,但是正如我们所展示的,无监督的预训练已经学习了与
目标任务相关的几个语言方面。
框架框架
我们的训练程序分为两个阶段。第一阶段是在一个大的文本语料库上学习一个高容量的语言模型。接下来是一个微调阶段,在这个阶段中,我们将模型调整为带有标记数据的判别任
务。
无监督预训练无监督预训练
给定一个无监督语料库的标记S= {u1,…,un},我们使用一个标准的语言模型来最大化以下可能性
其中,k是上下文窗口的大小,P为使用参数Θ的神经网络建模的条件概率型。这些参数是用随机梯度下降训练的。
在我们的实验中,我们使用多层Transformer解码器[34]作为语言模型,它是Transformer的变体,此模型对输入上下文标记应用多头自注意操作,然后是位置前馈层,以生成分布在
目标标记上的输出:
其中U是令牌的上下文向量,n是层数,We是令牌嵌入矩阵,Wp是位置嵌入矩阵。
监督预训练监督预训练
在用公式1中的目标模型训练后,我们将参数调整到有监督的目标任务。我们假设一个带标签的数据集C,其中每个实例由一系列输入标记x1,…,xm和标签y组成。输入通过我们预
先训练的模型来获得最终Transformer组的激活hml,然后将其输入一个参数为Wy的加线性输出层(added linear output layer)来预测y:
最大化以下目标:
我们还发现,包括语言建模作为辅助目标的微调有益于:
改进监督模式的泛化
加速收敛
具体来说,我们优化了以下目标(权重λ):
总的来说,在微调期间,我们只需要Wy和定界符(delimiter tokens)的嵌入。
左:这项工作中使用的Transformer 结构和训练目标。
右:用于对不同任务进行微调的输入转换。
我们将所有结构化输入转换为令牌序列,然后由我们的预训练模型进行处理,之后是 linear+softmax layer。
特定任务的输入转换特定任务的输入转换
对于一些任务,如文本分类,我们可以直接微调我们的模型,如上所述。
某些其他任务,如问答或文本蕴涵,具有结构化输入,如顺序句子对或文档、问题和答案的三元组当然也可以。由于我们的预训练模型是在连续的文本序列上训练的,因此我们需要
进行一些修改才能将其应用于这些任务。
先前的工作提出了基于转换表示的任务特定的学习体系结构。
这种方法重新引入了大量特定于任务的定制,并且没有对这些额外的体系结构组件使用迁移学习。相反,我们使用遍历样式(traversal-style)方法,将结构化输入转换为我们的预训
练模型可以处理的有序序列即将结构化输入转换为一个有序序列。这些输入转换允许我们避免跨任务对架构进行大量更改。我们在下面简要描述了这些输入转换,图1提供了一个直
观的说明。所有转换都包括添加随机初始化的开始和结束标记(〈s〉,〈e〉)。
文字蕴涵(文字蕴涵(Textual entailment))
对于蕴涵任务,我们将 premise p和 hypothesis h与分隔符token($)连接起来。
相似性相似性
对于相似性任务,两个被比较的句子没有内在的顺序。为了反映这一点,我们修改输入序列以包含两个可能的句子顺序(中间有分隔符)并分别处理产生两个序列表示hml,在被馈
入线性输出层之前按元素添加。
问答与常识推理问答与常识推理
对于这些任务,我们会得到一个context document z, a question q ,和一组可能的答案{ak}。我们将文档上下文和问题与每个可能的答案连接起来,在两者之间添加一个分隔符标记以
获取[z;q;$;ak]。这些序列中的每一个都是用我们的模型独立处理的,然后通过一个softmax对其进行规范化,从而在可能的答案上产生一个输出分布。
2. Language Models are Unsupervised Multitask Learners((GPT-2))
摘要摘要
自然语言处理任务如问答,机器翻译,阅读理解,阅读理解和总结是典型的在特定任务的数据集上进行的监督学习。我们证明了当语言模型在由数以百万计的网页组成名为WebText
的新数据集上进行训练时,可以无需监督学习这些任务。
在文档+问题的条件下,由语言模型生成的回答在CoQA数据集上达到了55的F1—在没有使用127000多个训练示例的情况下匹配或超过了四分之三的基线系统的性能。
语言模型的容量对于zero-shot task transfer的成功和增加它对 log-linear fashion across task任务的性能是必不可少的。
GPT-2是一个1.5B参数的Transformer ,zero-shot的条件下在7/8个语言模型的测试数据集上做到了state of the art,但对WebText依旧欠拟合。
启示:建立从自然发生的演示(naturally occurring demonstrations)中学习解决任务的语言处理系统。
介绍介绍
机器学习系统在有大数据集高容量模型的情况下在特定任务上表现良好,但脆弱且对数据分布十分敏感。我们转向更通用的系统,无需手动打标签(无监督)。
方法方法
由于监督目标与无监督目标相同,但仅在序列的子集上进行评估,无监督目标的全局最小值也就是监督目标的全局最小值(忽略关于密度估计的一个原则性训练目标 the concerns
with density estimationas a principled training objective discussed in (Sutskeveret al., 2015) are side stepped.)。
虽然对话是一种很好的文本数据,但是它的限制比较大,我们的方法鼓励建立尽可能大且多样的数据集,以便在尽可能多的领域和上下文中收集任务的自然语言演示
(demonstrations )。(简单说,什么类型的文本都可以达到学习语义信息的效果。)
输入表示输入表示
通用语言模型(LM)应该能够计算(并生成)任何字符串的概率。
当前大规模LMs包括预处理步骤,如lower-casing, tokenization, 和out-of-vocabulary tokens,这些步骤限制了可建模字符串的空间。当前字节级LMs在大型数据集(如十亿字基准)
上与字级LMs不具有竞争性。(两者在表现上相差不大)
字节对编码(BPE)是字符和单词级语言建模之间的一个折中(practical middle ground),它有效地在频繁符号序列的单词级输入和不频繁符号序列的字符级输入之间进行插值。尽
管名称不同,reference BPE实现通常操作Unicode代码点,而不是字节序列。这些实现需要包含Unicode符号的全部空间,以便对所有Unicode字符串建模。这将导致在添加任何
multi-symbol tokens之前,基本词汇表超过130000。与BPE通常使用的32000到64000个token vocabularies相比,这是一个令人望而却步的大问题。相反,字节级版本的BPE只需要
256大小的基本词汇表。然而,直接将BPE应用于字节序列会导致次优合并(sub-optimal merges),因为BPE使用贪心的基于频率的启发式(greedy frequency based heuristic)算
法来构建令牌词汇表。我们观察到BPE包括许多常见词的版本,比如dog,因为它们出现在许多变体中比如dog. dog!dog?这将导致有限词汇槽和模型容量(limitedvocabulary slots
and model capacity)的次优分配。为了避免这种情况,我们防止BPE为任意字节序列跨字符类别合并。我们为空格添加了一个例外,这显著地提高了压缩效率,同时在多个vocab
tokens之间添加了最小的单词碎片。
这种输入表示允许我们结合词级LMs的经验优势和字节级方法的通用性。因为我们的方法可以为任何Unicode字符串分配一个概率,这允许我们在任何数据集上评估LMs,而不管预处
理、标记或vocab大小如何。
模型模型
我们的LMs使用基于Transformer 的架构。该模型在很大程度上遵循了OpenAI GPT模型的细节的基础上做了一定改动。
Layer normalization被移到了每个子块的输入,类似于pre-activation residual networkk (He et al., 2016)。并在最后一个自我注意块之后添加额外的layer normalization。
修改初始化方法,用模型深度计算剩余路径上的累积量(accountsfor the accumulation on the residual path with model depthis used)。我们将初始化时剩余层的权重按1/√n的系数
进行缩放,其中是剩余层的数量。
词汇量扩大到50257。我们还可以将上下文大小从512增加到1024个tokens ,并使用更大的batch size 512。
实验实验
语言建模数据集上的结果通常以平均负对数概率规范预测单元(the average negative log probability per canonical prediction unit)比例缩放或指数化(scaled or exponentiated)的
量,通常是一个字符、一个字节或一个单词。我们根据一个WebText LM计算一个数据集的对数概率(log-probability),然后除以规范单元( canonical units)的数量,来评估相同
的数量。对于这些数据集中的许多,WebText LMs将在分布之外进行显著的测试,必须积极地预测标准化的文本(standardized text)、标记化工件(tokenization artifacts),如断
开的标点和收缩(disconnected punctuationand contractions)、无序的句子,甚至是UNK,而这在WebText中极少-在400亿字节内仅发生26次。由于这些去标记器(de-
tokenizers)是可逆的,我们仍然可以计算一个数据集的对数概率(log probability ),它们可以被看作是一种简单的域适应形式(domain adaptation)。我们观察到带有去标记器的
GPT-2有着2.5到5的perplexity 的增益。
Children’s Book Test((CBT))
儿童书籍测试(CBT)(Hill等人,2015)旨在研究LMs在不同类别词汇(命名实体、名词、动词和介词)上的表现。CBT不是报告perplexity而是报告自动构造完形填空测试的
accuracy ,其中任务是预测一个省略单词的10个可能选项中的哪一个是正确的。
LAMBADA
LAMBADA数据集(Paperno等人,2016年)测试了系统在文本中建立长期依赖关系模型的能力。任务是预测句子的最后一个单词,人类至少需要50个上下文标记才能成功预测。
GPT-2将the state of the art从99.8(Graves et al,2016)提升到8.6的perplexity ,并使LMs在该测试中的准确性从19%(DeHghani等人,2018)提高到52.66%。对GPT-2错误的调
查表明,大多数预测是句子的有效延续,但不是预设的最后一个单词。这表明LM没有使用额外的有用约束,即单词必须是句子的结尾。添加一个停止字过滤器(stop-word filter)作
为一个近似值,进一步将精度提高到63.24%,提高了本任务的总体状态4%。
Winograd Schema Challenge
Winograd Schema challenge(Levesque等人,2012)的构建是为了通过测量系统解决文本中歧义的能力来衡量系统执行常识推理的能力。
Reading Comprehension
会话问答数据集(CoQA)Reddy等人。(2018)由来自7个不同领域问答者之间的自然语言对话的一系列文件组成。CoQA测试阅读理解能力和模型回答依赖于历史会话的能力。
似乎表现不好,作者甩锅给了无监督。
Summarization
经常关注文章的最新内容,或者把具体细节搞混,比如有多少辆车卷入车祸,或者帽子或衬衫上有什么标志。接近基线水平,仅略优于从文章中选择3个随机句子。
Translation
在WMT-14英语-法语测试集上,GPT-2获得了5的BLEU,这比以前的无监督词翻译中的双语词典逐字替换略差(Conneau 等人., 2017b)。在WMT-14法语-英语测试集上,GPT-2能够
利用其非常强大的英语语言模型来显著提高性能,达到11.5 BLEU。这优于(Artetxe et al.,2017)和(Lampleet al.,2017)中的几个无监督机器翻译基线,但仍比当前最佳无监督
机器翻译方法(Artetxe et al.,2019)的33.5 BLEU差得多。作者对此也感到十分诧异,因为语料库中的噪音并不多(英文数据中的法语内容不到500分之一)。
Question Answering
测试语言模型中包含哪些信息的一个潜在方法是评估是不是经常产生问题的仿真陈述式的回答(factoid-style,不真实但可以使人信以为真)。
GPT-2在回答常用于阅读理解的数据集如SQUAD时回答的正确率为4.1%。作为比较,最小的模型不超过一个非常简单的基线的1.0%的精确度,该基线为每种问题类型(谁、什么、
在哪里等)返回最常见的答案。GPT-2能正确回答5.3倍以上的问题,表明模型容量是导致神经网络系统在这类任务中表现不佳的主要因素。GPT-2分配给其生成的应答器的概率经过
了很好的校准,GPT-2对其最有信心的1%的问题的准确率为63.1%。GPT-2的性能仍然比开放域问答系统的30%到50%的范围差很多,这些系统混合了信息检索和抽取文档问答。
(Alberti 等人., 2019).
Generalization vs Memorization
计算机视觉领域的最新研究表明,常见的图像数据集包含大量的近似重复的图像。例如,CIFAR-10在训练图像和测试图像之间有3.3%的重叠(Barz&Denzler,2019)。这导致了对
机器学习系统泛化性能的过度报道。随着数据集大小的增加,这个问题变得越来越可能,这表明类似的现象可能发生在WebText上,因此,分析有多少测试数据也出现在训练数据中
是很重要的。
为了研究这个问题,我们创建了包含8-grams of WebText training set token的Bloom筛选器。
我们的方法优化了召回,虽然手动检查重叠显示了许多常见的短语,但由于重复的数据,还有许多更长的匹配。
令人担忧的是,这样的问题普遍存在。但从结果上讲,排除这种干扰所带来的的准确率下降并没有太严重的影响(在排除任何重叠的所有实例时重新计算度量结果perplexity从8.6 到
了 8.7,并将精度从63.2%降低到62.9%。)
目前,我们建议使用基于n-gram重叠的重复数据消除作为一个重要的验证步骤,并在为新的NLP数据集创建训练和测试拆分时进行健全性检查。
判断WebText LMs 的表现是否归因于记忆的另一种可能的方法是在他们自己的留出集(held-out set)上检查他们的表现。WebText的训练集和测试集的性能相似,并且随着模型大
小的增加而共同提高。这表明即使是GPT-2在很多方面仍然对WebText欠拟合。
近期工作近期工作
这项工作的很大一部分衡量了在较大数据集上训练的较大语言模型的性能。
我们计划对诸如 decaNLP 和GLUE等基准进行微调,尤其是因为目前还不清楚GPT-2的额外的训练数据和能力是否足以克服BERT所描述的单向表示的低效性。
结论结论
当一个大型语言模型在一个足够大和多样化的数据集上训练时,它能够在多个领域和数据集上表现良好。在zero-shot setting下模型能够执行的任务多样性表明,高容量模型被训练以
最大限度地增加足够多的文本语料库的可能性,开始学习如何执行惊人数量的任务,而不需要明确的监督。
3. DIALOGPT : Large-Scale Generative Pre-trainingfor Conversational Response Generation
摘要摘要
DIALOGPT是在2005~2017的Reddit评论链中提取的147M个对话上进行训练的,扩展了Hugging Face PyTorch Transformer ,使其在单轮对话的自动评估和人工评估方面都达到了
接近人类表现的性能。生成了比baseline systems更高相关性、丰富度和上下文一致性的回复。
介绍介绍
OpenAI的GPT-2表明:在非常大的数据集上训练的Transformer 模型可以捕获文本数据中的长期依赖关系,并生成流畅、词汇多样和内容丰富的文本。这样的模型有能力捕捉具有细
粒度的文本数据,并产生高分辨率的输出,从而更好地模仿人类编写的真实文本。
自然语言回复生成是文本生成的一个子类别,目标都是生成与提示句相关的更自然的文本。
但是,模拟对话的独特挑战在于,人类对话包含了两个参与者可能相互竞争的目标(encapsulates the possibly competing goals of two participants),本质上更多样化。因此,与其
他文本生成任务(如NMT神经网络机器翻译,文本总结等)相比,一对多问题(one-to-many problem)更大。而一般来说,人类的对话也比较非正式、嘈杂,而且,当以文本聊天
的形式出现时,往往包含非正式的缩写或句法/词汇错误。
大多数开放域回复生成系统都存在内容或样式不一致。缺乏长期的语境信息,以及回复过于平淡(安全回复)的问题。虽然这些问题可以通过专门为提高信息内容而设计的建模策略
来缓解,但基于Transformer 的结构,如GPT-2,使用多层自注意力机制,采用全连接对跨越注意力(allow fully-connected cross-attention to the full context)进行高效计算来关注
整个上下文,似乎是探索更一般解决方案的自然选择。
Transformer 模型可以更好地保存长期依赖信息,从而提高内容的一致性。同时也因为深层结构有着更大的模型容量,可以比RNN模型更好地利用大规模数据集。
与GPT-2的对比
相同点:DIALOGPT也是一个自回归语言模型,采用多层Transformer 作为模型体系结构…
不同点:是对在从Reddit评论链中提取的大规模对话对/会话上进行训练的。作者推测这样可以更好地获取P(Target,Source)在具有更细粒度的对话流中的联合分布(This should
enable DIALOGPT to capturethe joint distribution of P(Target,Source) in conversational flow with finer granularity)。
数据集数据集
Reddit评论可以自然地扩展为树结构的回复链,因为回复一个线程的线程形成了后续线程的根节点。我们将每条路径从根节点提取到叶节点,作为包含多轮对话的训练实例。
对以下情形进行过滤:
对话中存在URL
含有三个以上的单词重复
如果回复中不包含至少一个 top-50最频繁使用的英语单词(eg., “the”, “of”, “a”),这代表着可能不是一个英文句子
回复包含特殊标记,如“[”或“]”,因为这可能是标记语言。
提问或回复超过200个单词
存在黑名单中的敏感词
方法方法
模型结构模型结构
在采用通用Transformer 结构的GPT-2架构上利用堆叠的masked多头自注意层来训练大量的网络文本数据。
Tricks
layer normalization
根据我们改进的模型深度计算的初始化方案(a initialization scheme that accounts
for model depth that we modified)
字节对编码(byte pairencodings)
将多轮对话转链接为长文本形式
剩余19页未读,继续阅读
weixin_38748740
- 粉丝: 4
- 资源: 940
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0