上下文

预训练语言模型整理

我怕爱的太早我们不能终老 提交于 2019-12-06 08:11:15
简介 # 2018年ELMo/GPT/BERT的相继提出,不断刷新了各大NLP任务排行榜,自此,NLP终于找到了一种方法,可以像计算机视觉那样进行迁移学习,被誉为NLP新时代的开端。 与计算机视觉领域预训练模型不同的是,其通过采用自监督学习的方法,将大量的无监督文本送入到模型中进行学习,即可得到通用的预训练模型,而NLP领域中无监督文本数据要多少有多少,2019年发布的后续研究工作(GPT2、Roberta、T5等)表明,采用更大的数据、更强大的炼丹炉可以不断提高模型性能表现,至少目前看来还没有达到上限。同时,如何缩减模型参数也成为了另一个研究热点,并有相应的论文在今年发表(ALBERT、ELECTRA)。这一类工作为NLP研发者趟通并指明了一条光明大道:就是通过自监督学习,把大量非监督的文本充分利用起来,并将其中的语言知识编码,对各种下游NLP任务产生巨大的积极作用。 为何预训练语言模型能够达到如此好的效果?主要有如下几点: word2vec等词向量模型训练出来的都是静态的词向量,即同一个词,在任何的上下文当中,其向量表征是相同的,显然,这样的一种词向量是无法体现一个词在不同语境中的不同含义的。 我们采用预训练模型来代替词向量的关键在于,其能够更具上下文的不同,对上下文中的词提取符合其语境的词表征,该词表征向量为一个动态向量,即不同上下文输入预训练模型后

执行上下文

£可爱£侵袭症+ 提交于 2019-12-06 07:17:24
执行上下文 (1)单线程 (2)同步执行,只有栈顶的上下文处于执行中,其它上下文需要等待 (3)全局上下文只有唯一的一个,在浏览器关闭后出栈 (4)函数的执行上下文没有限制 (5)每次某个函数被调用,就会有个新的执行上下位为其创建,即使是调用自身的函数,也是如此 来源: https://www.cnblogs.com/zly520/p/11968583.html

js执行上下文栈和变量对象

痴心易碎 提交于 2019-12-06 06:59:23
JS是 单线程 的语言,执行顺序肯定是 顺序执行 ,但是JS 引擎并不是一行一行地分析和执行程序,而是一段一段地分析执行,会先进行编译阶段然后才是执行阶段。 例子一: 变量提升 foo; // undefined var foo = function () { console.log('foo1'); } foo(); // foo1,foo赋值 var foo = function () { console.log('foo2'); } foo(); // foo2,foo重新赋值 例子二: 函数提升 foo(); // foo2 function foo() { console.log('foo1'); } foo(); // foo2 function foo() { console.log('foo2'); } foo(); // foo2 例子三:声明优先级, 函数 > 变量 foo(); // foo2 var foo = function() { console.log('foo1'); } foo(); // foo1,foo重新赋值 function foo() { console.log('foo2'); } foo(); // foo1 上面三个例子中,第一个例子是变量提升,第二个例子是函数提升,第三个例子是函数声明优先级高于变量声明。 需要注意

ClassLoader,Thread.currentThread().setContextClassLoader,tomcat的ClassLoader

坚强是说给别人听的谎言 提交于 2019-12-06 06:57:08
ClassLoader,Thread.currentThread().setContextClassLoader,tomcat的ClassLoader 2014-05-07 21:41 Loull 阅读( 6776) 评论( 0) 编辑 收藏 实际上,在Java应用中所有程序都运行在线程里,如果在程序中没有手工设置过ClassLoader,对于一般的java类如下两种方法获得的ClassLoader通常都是同一个 this.getClass.getClassLoader(); Thread.currentThread().getContextClassLoader(); 方法一得到的Classloader是静态的,表明类的载入者是谁; 方法二得到的Classloader是动态的,谁执行(某个线程),就是那个执行者的Classloader。对于单例模式的类,静态类等,载入一次后,这个实例会被很多程序(线程)调用,对于这些类,载入的Classloader和执行线程的Classloader通常都不同。 一、线程上下文类加载器   线程上下文类加载器(context class loader)是从 JDK 1.2 开始引入的。类 java.lang.Thread 中的方法 getContextClassLoader() 和 setContextClassLoader(ClassLoader

Flask目录

被刻印的时光 ゝ 提交于 2019-12-06 06:42:30
Flask 1Flask框架引子 2Flask的三剑客 3Flask的配置文件 4Flask的路由和cbv 5Flask的严格模式 6Flask的正则使用 7Flask的html渲染 8Flask的Request,Response的定制 9Flask的闪现 10Flask的请求拓展 11Flask的中间件 12Flask的session 13Flask的g对象 14Flask的Form 15Flask的信号 16Flask请求上下文源码解析 17Flask蓝图 18Flask自定制命令 19Flask的model和orm 20Flask的orm操作 21Flask的多APP应用 22Flask的sqlalchemy插件 23Flask实现迁移 来源: https://www.cnblogs.com/suren-apan/p/11966187.html

16Flask请求上下文源码解析

拥有回忆 提交于 2019-12-06 06:42:24
Flask请求上下文源码解析 from flask import Flask,request app=Flask(__name__) @app.route("/") def index(): print(request.form) return "1" if __name__ == '__main__': #self,是app,app(),--->Flask对象,Flask的__call__ app.__call__ app.run() ''' 1 app.__call__ 2 wsgi_app(environ, start_response) 2.1 ctx = self.request_context(environ) 2.1.1 return RequestContext(self, environ) 这里的self是app,environ请求相关 2.1.2 return RequestContext(self, environ) 得到了RequestContext的对象,而且有request属性 2.2 2.1中的ctx就是RequestContext的对象 2.3 ctx.push()执行这个,就是RequestContext的对象的push方法 2.3.1 #执行这个,self-->ctx _request_ctx_stack.push(self) 2.3.1.1

高阶函数与执行上下文

痴心易碎 提交于 2019-12-06 05:07:00
高阶函数与执行上下文 高阶函数满足条件(任意一个即可): 1、接受一个或多个函数作为输入。         2、输出一个函数。 闭包满足条件(必须全满足): 1、一个函数中要钱讨一个内部函数,并且内部函数要访问外部函数的变量。                  2、内部函数要被外部引用。 例:function eat(){ var food = '鸡翅'; return function(){ console.log(food); } } var look = eat(); look(); // 鸡翅 look(); // 鸡翅 闭包的优缺点: 优点:1:变量长期驻扎在内存中; 2:避免全局变量的污染; 3:私有成员的存在 ; 缺点:常驻内存 会增大内存的使用量 使用不当会造成内存泄露。 执行上下文的生命周期包含2个阶段: 建立阶段和执行阶段。 JavaScript中执行环境: 1、全局环境 2、函数环境 3、eval函数环境(已不推荐使用) 执行上下文类型为:1、全局执行上下文 2、函数执行上下文 3、eval函数执行上下文 建立阶段例: fooExecutionContext = { variavleObject : { arguments : { 0 : 10,length : 1 }, // 确定 Arguments 对象 i : 10, // 确定形式参数 c :

odoo context上下文通俗理解

断了今生、忘了曾经 提交于 2019-12-06 02:44:52
我们经常在程序中遇到这样的场景,在一个作业界面点击某个按钮或者进行某类操作,然后触发到另外一个作业界面的逻辑,此时我们有时不仅仅 需要将特定的数据库字段传过去,还可能将第一个界面的某些信息传递到跳转的界面。举个例子: 学生选课的时候,在课程界面点击选课,然后会将课程的相关信息传递到学生界面,但是我们还需要将课程界面的操作人员(可能不是学生本人)传递过去, 此时就需要用到context了。 # -*- coding: utf-8 -*-from odoo import models, fields, apifrom odoo.exceptions import UserError, ValidationErrorfrom odoo.modules.module import get_module_resourcefrom odoo import tools, _import randomimport timeclass course(models.Model): _name = 'xksystem.course' _description = 'xksystem.course' name = fields.Char(string=u'课程名') code = fields.Char(string=u'课程编号') studentlimit = fields.Integer

《浏览器工作原理与实践》<08>调用栈:为什么JavaScript代码会出现栈溢出?

北战南征 提交于 2019-12-05 23:33:26
在上篇文章中,我们讲到了,当一段代码被执行时,JavaScript 引擎先会对其进行编译,并创建执行上下文。但是并没有明确说明到底什么样的代码才算符合规范。 那么接下来我们就来明确下,哪些情况下代码才算是“一段”代码,才会在执行之前就进行编译并创建执行上下文。一般说来,有这么三种情况: 1. 当 JavaScript 执行全局代码的时候,会编译全局代码并创建全局执行上下文,而且在整个页面的生存周期内,全局执行上下文只有一份。 2. 当调用一个函数的时候,函数体内的代码会被编译,并创建函数执行上下文,一般情况下,函数执行结束之后,创建的函数执行上下文会被销毁。 3. 当使用 eval 函数的时候,eval 的代码也会被编译,并创建执行上下文。 好了,又进一步理解了执行上下文,那本节我们就在这基础之上继续深入,一起聊聊 调用栈 。学习调用栈至少有以下三点好处: 1. 可以帮助你了解 JavaScript 引擎背后的工作原理; 2. 让你有调试 JavaScript 代码的能力; 3. 帮助你搞定面试,因为面试过程中,调用栈也是出境率非常高的题目。 比如你在写 JavaScript 代码的时候,有时候可能会遇到栈溢出的错误,如下图所示: 那为什么会出现这种错误呢?这就涉及到了调用栈的内容。你应该知道 JavaScript 中有很多函数,经常会出现在 一个函数中调用另外一个函数 的情况,

预训练语言模型整理(ELMo/GPT/BERT...)

陌路散爱 提交于 2019-12-05 22:28:55
目录 简介 预训练任务简介 自回归语言模型 自编码语言模型 预训练模型的简介与对比 ELMo 细节 ELMo的下游使用 GPT/GPT2 GPT 细节 微调 GPT2 优缺点 BERT BERT的预训练 输入表征 Fine-tunninng 缺点 ELMo/GPT/BERT对比,其优缺点 BERT-wwm RoBERTa ERNIE(艾尼) 1.0 ERNIE 2.0 XLNet 提出背景 排列语言模型(Permutation Language Model,PLM) Two-Stream Self-Attention Transformer-XL ALBERT 简介 2018年ELMo/GPT/BERT的相继提出,不断刷新了各大NLP任务排行榜,自此,NLP终于找到了一种方法,可以像计算机视觉那样进行迁移学习,被誉为NLP新时代的开端。 与计算机视觉领域预训练模型不同的是,其通过采用自监督学习的方法,将大量的无监督文本送入到模型中进行学习,即可得到通用的预训练模型,而NLP领域中无监督文本数据要多少有多少,2019年发布的后续研究工作(GPT2、Roberta、T5等)表明,采用更大的数据、更强大的炼丹炉可以不断提高模型性能表现,至少目前看来还没有达到上限。同时,如何缩减模型参数也成为了另一个研究热点,并有相应的论文在今年发表(ALBERT、ELECTRA)