Sequence

Scaled Dot-Product Attention(transformer)

主宰稳场 提交于 2020-08-16 21:44:47
Scaled Dot-Product Attention是transformer的encoder的multi-head attention的组成部分。 由于Scaled Dot-Product Attention是multi-head的构成部分,因此Scaled Dot-Product Attention的数据的输入q,k,v的shape通常我们会变化为如下: (batch, n_head, seqLen, dim) 其中n_head表示multi-head的个数,且n_head*dim = embedSize 整个输入到输出,数据的维度保持不变。 temperature表示Scaled,即dim**0.5 mask表示每个batch对应样本中如果sequence为pad,则对应的mask为False,因此mask的初始维度为(batchSize, seqLen),为了计算,mask的维度会扩充为(batchSize, 1, 1, seqLen)。 class ScaledDotProductAttention(nn.Module): ''' Scaled Dot-Product Attention ''' def __init__(self, temperature, attn_dropout=0.1): super().__init__() self.temperature =

分布式 | dble 中分布式时间戳方式的全局序列

微笑、不失礼 提交于 2020-08-16 16:46:27
作者:吴金玲 爱可生 dble 项目团队成员,主要负责 dble 相关的日常测试工作,擅长对 dble 中出现的问题进行排查。热爱测试工作,余生欲将测试工作进行到底。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 dble 中目前有 4 种方式的全局序列,分别是 MySQL offset-step 方式、时间戳方式、分布式时间戳方式、分布式 offset-step 方式全局序列。本文将会从测试的角度简单讲述一下分布式时间戳方式的全局序列的环境搭建及使用。 一、分布式时间戳方式的全局序列简介 此种方式提供一个基于 Zookeeper(以下简称 ZK)的分布式 ID 生成器,可以生成全局唯一的 63 位(首位恒为 0,保证全局序列为正数)二进制 ID。 正数的 63 位模式如下: 其中: a - e 为从高位到低位; a 为线程 id 的低 9 位值; b 为 5 位实例 id 值; 此值为配置文件 sequence_distributed_conf.properties 中的 INSTANCEID 值或者从 zookeeper 服务器获取的值; c 为 4 位数据中心 id 值; 即配置文件 sequence_distributed_conf.properties 中的 CLUSTERID 的值; d 为 6 位自增长值; e

关于正则表达式的应用 你get了吗!!!

徘徊边缘 提交于 2020-08-15 16:31:27
正则表达式 由常量组成,表示字符串集,运算符符号表示对这些集的操作。既不属于JS,也不属于JAVA,是语法通用的,我经常遇见的是用来python爬虫获取信息。 1.在严格模式下必须要以 “/^…$/ ” 开始到关闭的过程。(记住了!) 2.还有一些修饰符经常用到,比如 i 用来忽略大小写, 1)下面就来段代码吧: eg1: let reg = RegExp(“a”,“i”) let str = “ADAVJKV” console.log(reg.test(str)) 此时的结果就是true。 2)下面列个大家常用的获取手机号的例子: eg2: let reg = /^1(83|51|88)\d{8} KaTeX parse error: Undefined control sequence: \d at position 112: …,(| |)代表其中任选数字,\̲d̲代表匹配数字,{8} 代表多少次结束,这里就是在[0,9]任写8个数字。 3)下面写一个获取邮箱的的例子: eg3: let reg = /^\w{0,20}@\w{0,10}.(com|net|cn|org)$/ let str = ‘yyy1234567@qq.com’ console.log(reg.test(str)); 代码解析:这里要注意的是‘\w’,它的意思是:“匹配包括下划线的任何单词字符,等价于

oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard

孤街浪徒 提交于 2020-08-15 12:33:34
oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard 数据库人生 2018-07-08 10:12:27 490 收藏 分类专栏: # oracle ha data guard 文章标签: active dataguard dataguard duplicate db_name db_unique_name 版权 postgresql ha patroni patroni 数据库人生 ¥9.90 os: centos 7.4 database:12.2.0.1 + dbf 本次是以 oracle database 12.2.0.1 + dbf 的形式部署的,后面会记录 rac + asm 的形式。 任何时候都要说下三种模式: 最大保护:maximize protection 最高性能:maximize performance 最高可用:maximize availability alter database set standby to maximize protection; alter database set standby to maximize performance; atler database set standby to maximize availability; 规划如下 maser slave $ORACLE_SID

内核交互 netlink,检测部分进程死亡和启动。

萝らか妹 提交于 2020-08-15 11:49:54
和内核交互 netlink netlink 内核和用户进程交互 用户空间用的是 socket ,内核空间用的是内部 API 和一个模块。 向下兼容。 面向数据包的应用。即 SOCK_RAW and SOCK_DGRAM 函数原型 #include <asm/types.h> #include <sys/socket.h> #include <linux/netlink.h> netlink_socket = socket(AF_NETLINK, socket_type, netlink_family); socket_type SOCK_RAW and SOCK_DGRAM 对于 netlink 都是一样的。 netlink_family 选择内核模块或者说 netlink 组 NETLINK_ROUTE 接收路由信息,更新链接信息,更新路由表,网络邻居,排队规则,拥塞等等。 NETLINK_SELINUX linux 事件通知 NETLINK_AUDIT 审计模块,用于检测统计内核的操作,比如杀死进程,退出等。 aditctl NETLINK_CONNECTOR 内核链接器 5.2 版本及以前 略 netlink 包协议栈 一个或多个头部 struct nlmsghdr struct nlmsghdr { __u32 nlmsg_len; /* Length of message

python生成requirements.txt文件

[亡魂溺海] 提交于 2020-08-15 10:31:38
python生成requirements.txt文件 单一虚拟环境下 意思时当前python虚拟环境中下载的所有依赖都会被添加进去,不管项目中是否真实依赖了。 pip freeze > requirements.txt 该命令会在当前项目目录下生成requirements.txt文件 pip install -r requirements.txt 该命令会安装requirements.txt中的依赖 使用pipreqs 安装pipreqs pip install pipreqs # 在当前目录生成 pipreqs . --encoding=utf8 --force 注意 --encoding=utf8 为使用utf8编码,不然可能会报UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence 的错误。 --force 强制执行,当 生成目录下的requirements.txt存在时覆盖。 来源: oschina 链接: https://my.oschina.net/randomobject/blog/4305078

postgresql的一些参数优化值

主宰稳场 提交于 2020-08-15 04:53:40
9.5的常用的一些设置,自己mark一下防止丢失;参数用途的说明,不做说明,仅为自己记录 <pre> max_connections = 3000 work_mem = 8MB shared_buffers = 1GB fsync = off synchronous_commit = off commit_delay = 500 commit_siblings = 25 checkpoint_completion_target = 0.9 autovacuum = on bgwriter_delay=10ms full_page_writes=off wal_writer_delay=10ms max_wal_size=32GB hot_standby=on wal_receiver_status_interval=1s hot_standby_feedback=on random_page_cost=1.0 maintenance_work_mem=64MB autovacuum_work_mem=64MB archive_mode=off enable_nestloop=off </pre> 9.6的并行查询参数,黑体标明, 官方说明: <pre> <b>Parallel query execution is not (yet) enabled by default. To

Istanbul BFT共识算法解读

喜夏-厌秋 提交于 2020-08-15 03:45:27
Istanbul BFT共识算法详细文档 Istanbul BFT 作为BFT类算法的一种已经有过在以太坊上的实践。虽然Istanbul目前还存在一些 潜在的问题 ,但其算法思想和实现还是值得学习和借鉴的。 源代码: https://github.com/jpmorganchase/quorum/tree/master/consensus/istanbul 术语 Validator: 区块验证者。 Proposer: 出块者。 Round: 共识的轮数。一轮从出块者提出一个区块proposal开始,结束于区块提交或者轮数改变(轮数改变可能由于出错或者区块更新)。 Proposal: 提出的一个在处理中的新的区块。 Sequence: proposal的高度。块高和sequence相对应。 Blocklog: 将来的信息记录在backlog里面。 core.backlogs Round state: Round 和 Sequence 绑定在一起组成 view , Consensus proof: 提交的区块签名。每个 validator 对区块验证后会对其进行签名。 Snapshot: validator的投票状态。 共识算法描述 Istanbul BFT修改自PBFT算法,包括三个阶段: PRE-PREPARE 、 PREPARE 以及 COMMIT 。在 N 个节点的网络中

Transformer_Introduce

佐手、 提交于 2020-08-15 01:59:26
1. Embedding After embedding the words in our input sequence, each of them flows through each of the two layers of the encoder. The word in each position flows through its own path in the encoder. There are dependencies between these paths in the self-attention layer. The feed-forward layer does not have those dependencies, however, and thus the various paths can be executed in parallel while flowing through the feed-forward layer. 2. Encode an encoder receives a list of vectors as input. It processes this list by passing these vectors into a ‘self-attention’ layer, then into a feed-forward

填坑指南:一次通过Oracle序列自增解决业务编号唯一的并发问题

て烟熏妆下的殇ゞ 提交于 2020-08-14 23:46:46
背景描述 某日上午生产上突然出现应用无法连接数据库,c3p0错误connect time out,重启应用后依然不见好转,经DBA检查发现存在对某张表的for update,以及其他业务操作对该表的update操作,且这些会话均长时间未释放,查看日志也发现这些sql语句执行时间有些甚至长达100多秒,后通过DBA 手工删除会话,释放连接后系统才恢复正常,导致此事故的是系统的某一个业务功能,但却因为这个不当操作导致系统全线业务瘫痪,由于此前该功能已经运行多日,却未发现异常。 代码检查 这里先贴一段代码,由于代码是在前任挖坑离职后,我后面接过来的,大家自行体会。 这段代码目的是先锁住整表,然后查出主键的maxvalue,然后根据规则对maxvalue进行+1 ,然后进行insert操作,在没请求量,不对表做update操作的情况下,单次执行确实是没什么问题,但是问题就在这张表是业务表,是会对数据进行操作的,一旦加上存在并发,哪怕这个并发都不是秒级的,这种操作都是撑不住的,关键!做这个操作的表还不止一张!其中有几张还是比较核心的业务表,每个表的主键都是通过这种方式来搞,当时的感觉就仿佛吃了一口老八秘制小汉堡。 DBA杀掉会话临时解决后,下午又出现了同样的情况,没办法,完全修复需要时间,只能先紧急对sql进行修改 select * from table for update wait 3