Sequence

内存数据库解析与主流产品对比(一)

廉价感情. 提交于 2020-11-17 02:58:55
作者: 实验室小陈 / 大数据开放实验室 8月26日,星环邀请来自华东师范大学软件工程学院的博士生导师宫学庆教授带来《数据库前沿技术系列讲座》,分享数据库业内前沿发展和研究热点。现将宫学庆教授的培训第一讲内容:内存数据库的技术发展分享给大家。 — 基于磁盘的数据库管理系统 — 传统的数据库管理系统(DBMS)通常是采用基于磁盘的设计,原因在于早期数据库管理系统设计时受到了硬件资源如单CPU、单核、可用内存小等条件的限制,把整个数据库放到内存里是不现实的,只能放在磁盘上。由于磁盘是一个非常慢的存储设备(相对于CPU的速度),因此学术界和工业界发展出的数据库管理系统在架构上都必须适应当时的硬件条件,沿用至今的Oracle和MySQL等数据库管理系统仍然采用的是这种架构设计。 伴随着技术的发展,内存已经越来越便宜,容量也越来越大。单台计算机的内存可以配置到几百GB甚至TB级别。对于一个数据库应用来说,这样的内存配置已经足够将所有的业务数据加载到内存中进行使用。虽然大数据处理的数据量可能是PB级别的,但那些数据一般是非结构化的数据。通常来讲,结构化数据的规模并不会特别大,例如一个银行10年到20年的交易数据加在一起可能只有几十TB。这样规模的结构化数据如果放在基于磁盘的DBMS中,在面对大规模SQL查询和交易处理时,受限于磁盘的I/O性能,很多时候数据库系统会成为整个应用系统的性能瓶颈。

动态规划算法

半腔热情 提交于 2020-11-15 11:46:32
贪心算法:逐步建立一个解决方案,具体地优化一些局部准则。 分治:将一个问题分解成独立的子问题,求解每个子问题,并将子问题的解组合起来形成原问题的解。 动态规划:把一个问题分解成一系列相互重叠的子问题,并为越来越大的子问题建立解决方案。 一、weighted interval scheduling 加权区间调度 问题描述:每个job有开始时间、结束时间和权重,找job不overlap的最大权重。 解法1:最早结束时间优先。(若权重都一样,用贪心法是正确的,但在本题不对)。 以完成时间升序标记jobs。记p(j)=i,表示j>i,在选择job j后,可选的最大下标为i。 记OPT(j)表示由作业1,2,3…j组成的请求的最优解。 若OPT选择j,wight包括vj,包括之前的OPT:1,2,…p(j); 若OPT不选择j,一定包括OPT:1,2…j-1 解法2:暴力法 //伪代码 输入:n , s [ n ] , f [ n ] , v [ n ] 排序:根据f [ n ] 计算:p [ n ] int computeOpt ( int j ) { if ( j == 0 ) return 0 ; else return max ( v [ j ] + computeOpt ( p [ j ] ) , computeOpt ( j - 1 ) ) ; } 分析:分层递归调用

keras 文本分类 LSTM

随声附和 提交于 2020-11-13 06:27:35
首先,对需要导入的库进行导入,读入数据后,用jieba来进行中文分词 # encoding: utf-8 #载入接下来分析用的库 import pandas as pd import numpy as np import xgboost as xgb from tqdm import tqdm from sklearn.svm import SVC from keras.models import Sequential from keras.layers.recurrent import LSTM, GRU from keras.layers.core import Dense, Activation, Dropout from keras.layers.embeddings import Embedding from keras.layers.normalization import BatchNormalization from keras.utils import np_utils from sklearn import preprocessing, decomposition, model_selection, metrics, pipeline from sklearn.model_selection import GridSearchCV from sklearn

给你的 MyBatis-Plus 装上批量插入的翅膀

浪尽此生 提交于 2020-11-11 14:43:46
大家有用过MyBatis-Plus(简称MP)的都知道它是一个MyBatis的增强工具,旨在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。 特点 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere ) 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作

几道特别难搞的数据库面试题

陌路散爱 提交于 2020-11-10 18:44:25
一、多选题(不定项选择) 在下面所列出的条目中,哪些是数据库管理系统的基本功能? A ‍‍ 数据库定义‍‍ B ‍‍ 数据库的建立和维护‍‍ C ‍‍ 数据库存取‍‍ D 数据库和其他软件系统的通信 在Mongodb支持的数据类型中,ObjectId:类似唯一主键,可以很快的去生成和排序,比如:"_id" : ObjectId(“5b151f8536409809ab2e6b26”),那么在小括号中的一串字符可以划分位哪几部分?‍‍ A ‍‍ 时间戳‍‍ B ‍‍ 机器码‍‍ C 进程ID‍‍ D 计数器 E 转义码 下列哪些属于NoSQL数据库的特征?‍‍‍‍ A 高可扩展性‍‍ B 分布式计算‍‍ C 低成本‍‍ D 没有标准化‍‍ 二、编程题 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。‍‍‍‍如下,请写出以下SQL语句:‍‍‍‍‍‍ 找出站点名称包含“人民”的所有记录。‍‍ stop like ”人民%” 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。‍‍‍‍如下,请写出以下SQL语句:‍‍ ‍‍找出途径线路数最多的站点。‍‍ 考虑一下每个地铁站点有多少趟地铁通过 表名:subway,包含3个字段:id(线路编号)、stop(站点)、sequence(站点序列)。如下

linux的bash特性

别说谁变了你拦得住时间么 提交于 2020-11-10 07:01:01
Shell本身是应用程序,是用户与操作系统之间完成交互式操作的一个接口程序,为用户提供简化的操作。 Bourne Again Shell,简称bash,是Linux系统中默认的shell程序。 Bash的特性: 一、命令的别名(自定义命令) alias(内嵌命令),定义或显示别名 使用/COMMAND ,将使用原本的命令而不是自定义后的命令 注意:如果alias命令不带任何选项和参数,则表示显示所有已经定义并生效的别名设置 # alias ALIAS='COMMAND [OPTION]...[ARGUMENT]...' unalias,从别名定义列表中删除一个名字 -a,删除所有别名定义 注意:无论使用alias还是unalias,其功能都会立即生效;但是这两个命令的生命周期等于当前shell的生命周期,一旦注销此次登录,相当于关闭了bash,则使用alias命令定义的别名或使用unalias命令删除的别名会立即失效。每个用户有一个私有bash文件在用户家目录中,文件名为.bashrc,修改后重新启动bash程序或者source命令或"."才会生效, 二、bash的快捷键: C:表示ctrl键 M:表示Alt键 E:表示ESC键 DEL:表示backspace键 常用: C-l:清屏 C-a:把光标跳转到行首 C-e:把光标跳转到行尾 C-k:删除光标所在位置至行尾的内容 C-u

Pandas数据处理——盘点那些常用的函数(下)

↘锁芯ラ 提交于 2020-11-09 10:10:23
继上一篇文章 Pandas数据处理——盘点那些常用的函数(上) 后,这篇文章整理了剩下的一些Pandas常见方法,整体难度会比上一篇文章中的大一点,但还是比较容易理解的。 话不多说,直接进入正题。 用于演示的数据如下: In [11]: data Out[11]: company gender salary age 0 B female 30 40.0 1 A female 36 31.0 2 B female 35 28.0 3 B female 9 18.0 4 B female 16 43.0 5 A male 46 22.0 6 B female 15 28.0 7 B female 33 40.0 8 C male 19 32.0 .astype() 作用对象: Series 和 DataFrame 主要用途:修改字段的数据类型,数据量大的情况下可用于 减小数据占用的内存 ,多用于 Series 。 用法: # 把age字段转为int类型 In [12]: data["age"] = data["age"].astype(int) In [13]: data Out[13]: company gender salary age 0 B female 30 40 1 A female 36 31 2 B female 35 28 3 B female 9 18 4 B

基于Bert的NLG

孤人 提交于 2020-11-07 11:56:35
《 Unified Language Model Pre-training for Natural Language Understanding and Generation 》 《 MASS: Masked Sequence to Sequence Pre-training for Language Generation 》 《 BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension 》 来源: oschina 链接: https://my.oschina.net/u/4407543/blog/4707216

「自然语言处理(NLP)」神经机器翻译(NMT)论文整理(一)

泪湿孤枕 提交于 2020-11-07 09:35:00
喜欢我们,点击上方 AINLPer ,关注一下,极品干货即刻送达! 祝大家周末愉快~~ 引言 下面是作者整理的关于神经机器翻译(NMT)相关的论文,下面这10篇文章都顶会ICLR发表的文章,能找到源码的作者也直接贴出来了,如果你对NMT感兴趣或者也在找一些相关的文章,希望能够帮助你 ~ 关于本次分享得十篇NMT文章,后台回复: NMT001 可见下载链接。 最后,帮作者点个 在 看 吧,谢谢~~ 正文开始 1 First Blood TILE: Multilingual Neural Machine Translation with Knowledge Distillation Author: Xu Tan, Yi Ren, Di He, Tao Qin, Zhou Zhao, Tie-Yan Liu Paper: openreview.net/pdf? 论文简述: 多语言机器翻译以其离线训练和在线服务的效率而备受关注。 然而,由于语言多样性和模型容量的限制,传统的多语言翻译通常会产生较低的准确性。 在本文提出了一种基于提取的方法来提高多语言机器翻译的准确性。 TILE: Mirror-Generative Neural Machine Translation Author: Zaixiang Zheng, Hao Zhou, Shujian Huang, Lei Li, Xin

重磅盘点:过去8年中深度学习最重要的想法

好久不见. 提交于 2020-11-06 19:19:25
原文: Deep Learning’s Most Important Ideas[1] 作者 :Denny Britz(ML 研究员,Google Brain 前成员) 译者:REN 深度学习是一个瞬息万变的领域,层出不穷的论文和新思路可能会令人不知所措。即使是经验丰富的研究人员,也很难准确将研究成果传达给公司的公关部门,继而传达给大众。 对于初学者来说,理解和实现这些技术有利于打下坚实的理论基础,是入门的最佳方法。 在深度学习领域,很多技术都可以跨域多个应用领域,包括计算机视觉,自然语言,语音识别和强化学习等等。在计算机视觉领域使用过深度学习的人,可能很快就能将类似的技术应用到自然语言研究中,即使特定的网络结构有所不同,但其概念,实现方法和代码基本一致。 必须强调的是,本文侧重于计算机视觉,自然语言,语音识别和强化学习领域,但不会详细解释每种深度学习技术,用寥寥数百字解释清楚一篇几十页的论文是不现实的。另外还有一些不容易重现的重要研究,比如 DeepMind 的 AlphaGo 或 OpenAI 的 OpenAI Five(Dota 2 模型),涉及到巨大的工程和运算挑战,因此也不是讨论的重点。 这篇文章的目的,是回顾在深度学习领域影响深远的成果,概述每种技术及其历史背景,尽量引导深度学习新人接触多个领域的基础技术。它们是这个领域最值得信赖的基石,每一个技术都经过了无数次的引用