Sequence

BERT解析及文本分类应用

喜夏-厌秋 提交于 2020-08-20 06:37:58
目录 前言 BERT模型概览 Seq2Seq Attention Transformer encoder部分 Decoder部分 BERT Embedding 预训练 文本分类试验 参考文献 前言 在18年末时,NLP各大公众号、新闻媒体都被BERT(《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》)刷屏了,刷新了自然语言处理11项纪录,也被称为了2018年最强自然语言处理模型。 笔者很早便完整看了这篇论文,迟迟没有动手,一方面是因为自己懒,各种事情耽搁了,另一方面还是想通过在具体的任务中进行了确切的实践后再与大家分享交流。废话不多说,下面我们进入正题,2018最强自然语言处理模型BERT(注意修饰语2018,因为最近冒出来的OpenAI的研究人员训练的超大规模15亿参数模型已经进一步打破了记录,并开源了一个117M的小模型和代码: https://github.com/openai/gpt-2,感兴趣的读者可以看看) BERT模型概览 了解BERT模型我们需要先回顾谷歌在早前发表的一些观点和paper,我们首先来简单回顾下seq2seq,之后说说attention引出的transformer模型,最后看看BERT模型的细节以及创新点。 Seq2Seq

释译python fileinput中的description

此生再无相见时 提交于 2020-08-20 06:07:53
fileinput 模块提供处理一个或多个文本文件的功能 , 可以通过使用 for..in 来循环读取一个或多个文本文件内容 . 例子中的文件, 1.txt 1a 2a 3a 4a 2.txt 1b 2b DESCRIPTION Typical use is: import fileinput for line in fileinput.input(): process(line) This iterates over the lines of all files listed in sys.argv[1:], defaulting to sys.stdin if the list is empty. If a filename is '-' it is also replaced by sys.stdin. To specify an alternative list of filenames, pass it as the argument to input(). A single file name is also allowed. [ 译 ] 这个迭代了所有文件的行在 sys.argv[1:] 中,如果列表为空则默认为标准输入,如果文件名为 ”-” 它也为标准输入。指定一个文件名列表来做为参数传递给 input ,一个单独的文件名也是允许的。 [ 例 ] (1)#!/usr

Oracle学习(五) --- 视图、序列、同义词、索引

一世执手 提交于 2020-08-20 05:22:52
1、视图 1.1、什么是视图 视图是从基表中导出的逻辑表,它不像基表一样物理地储存在数据库中,视图没有自己独立的数据实体。一个视图的存在反映在数据字典中具有相应的登记项。视图一旦被建立,即可在其上进行DML操作。 视图就是一个虚拟表,实体表的映射。 1.2、视图概述 视图是一种数据库对象,它是从一个或多个表或视图导出的虚表,即它可以从一个或多个表中的一个列或多个列中提取数据,同真实的表一样,视图也包含一系列带有名称的列和行数据。 视图实际上是一个或多个表的预定义查询,这些表称为基表(base table)。但是,视图并不在数据库中以储存的数据值形式存在,而且系统也不会在其他任何地方专门为标准视图存储数据。视图所引用的表由行和列数据自由定义,并且在引用视图时动态生成。 使用视图的作用主要表现在以下几个方面: 提供面向用户将的数据表现形式 提供面向用户的安全性保证 隐藏数据的逻辑复杂性 简化用户权限的管理 重构数据库的灵活性 1.2、视图的基本操作 1.2.1、简化版创建 -- 语法 create view 视图名称 as 查询语句; 1.2.2、删除 -- 语法 drop view 视图名称; 1.2.3、具体操作:CURD -- 0.准备数据,查询业主表 select * from t_owners; -- 1 创建视图 create view view_owners as

Oracle 12C DataGuard部署以及维护

安稳与你 提交于 2020-08-19 22:55:58
Oracle 12C DataGuard部署以及维护 iverycd 2019-02-10 17:24:04 3023 收藏 4 分类专栏: DataGuard 版权 Oracle 12C DataGuard部署 一、环境部署 二、维护使用 2.1 检查主备库的归档日志号 2.2 检查备库的归档日志同步情况以及应用指标参数 2.3 查看主备库的模式 2.4 主备库归档日志维护 2.5 备库磁盘空间不足处理 2.6 重建备库 三、取消DataGuard环境 3.1 Standby Database Alone 3.2 主库脱离DataGuard 12c的Dataguard部署过程还是与11g类似,可以按照11g的部署方法进行部署。 一、环境部署 Primary Standby DB Version 12.1.0.2 12.1.0.2 Hostname primary standby HOST IP 172.16.4.51 172.16.4.52 DB_NAME orcl orcl DB_UNIQUE_NAME orcl stdorcl Instance_Name orcl stdorcl DB Listener 1521 1521 DB Storage FileSystem FileSystem DB files /u01/app/oracle/oradata/orcl/ /u01

SequoiaDB监控与开发实践分析

橙三吉。 提交于 2020-08-19 22:17:59
使用背景 公司近期上线了一个新应用,底层数据库采用了 国产的分布式数据库 – SequoiaDB 。 因为需要将 SequoiaDB 集群纳入到公司的整个监控体系中,所以需要对 SequoiaDB 的状态、性能指标等信息收集起来,然后提供监控系统使用。 SequoiaDB 数据库本身提供了一个 图形化的监控界面 – SAC ,但是里面的监控项,和我们公司过去常用的指标有很大出入。所以在咨询了 SequoiaDB 的相关人员后,决定自己开发一套监控程序。 SequoiaDB 存储引擎的监控 在 SequoiaDB 数据库,存在两个大的体系,一个是计算层,像我们就是使用了 MySQL 实例,另外一个就是 SequoiaDB 的 分布式存储层 ,也是整个数据库对性能影响最大的部分。 关于 MySQL 的监控,公司本来就已经存在一整套完备的监控程序,所以这块就不需要再额外的开发了。但是对于 SequoiaDB 底层的分布式,还是非常有必要将相关指标收集起来的。 SequoiaDB 在监控体系上,其实做得还是比较完整的,只是在展现方式上,还需要再打磨一下。SequoiaDB 底层分布式的所有运行信息,用户都可以通过snapshot,或者是list 命令获取。 我从 SequoiaDB 的技术人员中了解到,其实像 SAC,或者 sdbtop 等这种 SequoiaDB 官方提供的监控工具

X509证书结构

一世执手 提交于 2020-08-19 22:15:38
X.509证书结构 Certificate ::= SEQUENCE { tbsCertificate TBSCertificate, --证书主体 signatureAlgorithm AlgorithmIdentifier, --证书签名算法标识 signatureValue BIT STRING --证书签名算法值 } TBSCertificate ::= SEQUENCE { version [0] EXPLICIT Version DEFAULT v1, --证书版本号 serialNumber CertificateSerialNumber, --证书序列号,对同一CA所颁发的证书,序列号唯一标识证书 signature AlgorithmIdentifier, --证书签名算法标识 issuer Name, --证书发行者名称 validity Validity, --证书有效期 subject Name, --证书主体名称 subjectPublicKeyInfo SubjectPublicKeyInfo, --证书公钥 issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, -- 证书发 行者ID(可选),只在证书版本2、3中才有 subjectUniqueID [2] IMPLICIT

MySQL数据库表设计规范

大兔子大兔子 提交于 2020-08-19 17:41:35
一、数据库设计 1、一般都使用 INNODB 存储引擎,除非读写比率<1%,才考虑使用 MYISAM 存储引擎;其 他存储引擎请在 DBA 的建议下使用。 2、Stored procedure (包括存储过程,函数,触发器)对于 MYSQL 来说还不是很成熟, 没有完善的出错记录处理,不建议使用。 3、UUID(),USER()这样的MySQL INSIDE 函数对于复制来说是很危险的,会导致主备数据不一致,所以请不要使用。如果一定要使用UUID作为主键,让应用程序来产生。 4、请不要使用外键约束,如果数据存在外键关系,请在程序层面实现。 5、必须采用 UTF8 编码。 二、数据库对象设计规范 1、表 设计 a)在设计时尽量包含两个日期字段:crt_time(创建日期),upd_time(修改日期)且 非空, 对表的记录进行更新的时候,必须包含对 upd_time字段的更新。 b)必须要有主键,主键尽量用自增字段类型,推荐类型为INT或者BIGINT类型。 c)需要多表join的字段,数据类型保持绝对一致。 d)Mysql 的表尽量设置成 KV(Key-Value)结构,这样便于扩展和维护。 e)当表的字段数非常多时,可以将表分成两张表,一张作为条件查询表,一张作为详细内容表(主要是为了性能考虑)。 f)当字段的类型为枚举型或布尔型时,建议使用 char(1)类型。 g)同一表中

Linux系统内核调优

蹲街弑〆低调 提交于 2020-08-19 15:59:24
文件描述符和最大进程数 ulimit的使用 ulimit #-a 列出所有当前资源极限 #-n 每个进程可以同时打开的最大文件数 #-u 可以运行的最大并发进程数 #-S 设置软限制 #-H 设置硬限制 在命令行直接执行该命令只会在当前shell生效,退出或者新开一个shell都会无效,所以可以加入到全局设置中: /bin/echo "ulimit -SHn 65535" >> /etc/profile 有时候为了方便起见,也可以将用户资源的限制统一由一个文件来配置 这个文件就是/etc/security/limits.conf,该文件不但能对指定用户的资源进行限制,还能对指定组的资源进行限制。 echo "* hard nofile 65535" >>/etc/security/limits.conf echo "* soft nofile 65535" >>/etc/security/limits.conf echo "* soft nproc 65535" >>/etc/security/limits.conf echo "* hard nproc 65535" >>/etc/security/limits.conf 需要注意的是,在centos系统中,除了/etc/security/limits.conf文件外,还有一个文件/etc/security/limits.d/20