精华内容
下载资源
问答
  • : Failed to start Advanced key-value store. dpkg: error processing package redis-server (--configure): installed redis-server package post-installation script subprocess returned error exit ...

    Redis 报错

    : Failed to start Advanced key-value store.
    dpkg: error processing package redis-server (--configure):
     installed redis-server package post-installation script subprocess returned error exit status 1
    Errors were encountered while processing:
     redis-server
    

    修改redis.conf 文件里的

    bind 127.0.0.1 ::1
    

    变为

    bind 127.0.0.1
    

    然后重启 redis-server

    展开全文
  • Failed to start Advanced key-value store.

    千次阅读 2019-12-14 22:55:20
    https://www.jianshu.com/p/93085829535c
    展开全文
  • 记忆网络之Key-Value Memory Networks

    千次阅读 2017-09-30 16:22:44
    记忆网络之Key-Value Memory Networks今天要介绍的这篇文章是Facebook在2016年6月发表的一篇文章,相比之前的两篇可以说是更加完美的将Memory Networks应用的了QA任务上。End-To-End那篇文章相比第一篇解决的强监督...

    记忆网络之Key-Value Memory Networks

    今天要介绍的这篇文章是Facebook在2016年6月发表的一篇文章,相比之前的两篇可以说是更加完美的将Memory Networks应用的了QA任务上。End-To-End那篇文章相比第一篇解决的强监督的问题,从而提出一种端到端的记忆网络,但仍然没有运用到QA的数据集上(虽然专栏的第三篇文章介绍了两篇使用该模型进行QA数据集训练的方法,但是模型的实际效果并不是很好,而且这种针对数据集的修改没有对模型本身进行创新,所以效果提升不明显),而本文在end-to-end的基础上对模型结构进行修改,使其可以更好的存储QA所需要的先验知识(KB或者wiki文章等)。

    在这之前先看一下前面两篇文章提出模型的架构示意图来回忆一下:


    此外本篇文章还提出了一个全新的数据集movieQA,同时提供了基于知识库和wiki文章还有IE数据库三种先验知识支撑,以便大家对不同知识源的效果进行比较。首先比较一下基于知识库KB和wiki文章的问答系统的区别和各自的优缺点:

    • 基于KB的QA,优点是KB具有高度的结构化组织并且有人工构建,所以便于机器处理。缺点是知识的覆盖面不全,会有遗漏和缺失,也就是有些问题在KB中本身就找不到答案,也就是其稀疏性,此外三元组中的实体可能会有变种表示,但KB中也为包含等各种问题。
    • 基于wiki 文章的QA,优点是覆盖面广,基本上所有的问题都能从中找到答案。缺点是非结构化、不直接、有歧义、可能需要多个文档经过复杂的推理才能找出答案等,也就是直接从文档中检索出问题的答案是一个很困难的问题。

    基于这些,作者提出了一个新的数据集MovieQA,因为他觉得要想弥补wiki文章和KB系统之间的差距,应该先从一个简单领域(电影)开始,如果二者的gap被填上之后在推广到开放域即可。本数据集包含十万+的QA对覆盖了电影领域的,而且同时可以以KB、wiki文章、IE三种知识源为背景进行问答。接下来我们看一下论文提出的Key-Value MemNN模型,其结构如下图所示:

    从上图可以看出来key embedding和value embedding两个模块跟end-to-end模型里面input memory和Output memory两个模块是相同的,不过这里记忆是使用key和value进行表示,而且每个hop之间有R矩阵对输入进行线性映射的操作。此外,求每个问题会进行一个key hashing的预处理操作,从knowledge source里面选择出与之相关的记忆,然后在进行模型的训练。在这里,所有的记忆都被存储在Key-Value memory中,key负责寻址lookup,也就是对memory与Question的相关程度进行评分,而value则负责reading,也就是对记忆的值进行加权求和得到输出。二者各自负责自己的功能,相互配合,使得QA过程的记忆和推理各司其职。接下来从细节的角度上描述一下模型:

    1. key hashing:首先根据输入的问题从知识源中检索出与问题相关的facts,检索的方法可以是至少包含一个相同的实体等多种方法。也就是上图中下面的绿色部分,相当于一个记忆的子集。这部分工作可以在与处理数据的时候进行。然后将其作为模型输入的一部分训练的时候输入模型即可。
    2. key addressing:寻址,也就是对memory进行相关性评分。用key memory与输入的Question相乘之后做softmax得到一个概率分布。概率大小就表明了相关程度。Qx与Qk都是embedding模型,对输入问题和key进行编码得到其向量表示。
    3. Value Reading:有了相关性评分,接下来就对value memory进行加权求和即可,得到一个输出向量。

    这样就完成了一个hop的操作,接下来将输出向量o与输入问题的向量表示q相加,经过Ri矩阵进行映射,在作为下一层的输入,重复循环这个过程即可。每一层都会离答案更进一步,这里可以类比CNN模型进行理解,CNN处理图片时,第一层可以得到一些边缘特征,第二层得到车轮、车门等特征,最后一层得到车,同样,这里第一层可能得到与问题相关的一些答案,第二层得到具体的答案(可以参考end-to-end那篇文章,最后说了一下bAbI任务中,每个hop得到的结果分别是什么进行理解)。最后,我们在使用一个答案的预测层即可。

    yi可以理解为所有的KB中的实体或者候选的答案句子(使用wiki文章时)。并且使用交叉熵作为损失函数即可,然后就可以端到端的对模型进行反向传播训练。整个过程看下来其实跟end-to-end模型很相似,那么最关键的地方加在于Key-Value的memory如何进行表示,这也是本模型的创新所在,接下来我们就看一下:

    Key-Value memory的好处在于可以方便的对先验知识进行编码,这样就可以让每个领域的人都方便的将本领域内的一些背景知识编码进记忆中,从而训练自己的QA系统,相比于end-to-end模型将相同的输入经过不同的矩阵分别编码到Input memory和Output memory,Key-Value则选择对输入首先进行一个(key, value)形式的表示,然后再分别编码进入key和value两个memory模块,这样就有了更多的变化和灵活性。我们可以按照自己的理解对数据进行key索引和value记忆,而不需要完全依赖于模型的embedding矩阵,这样也可以使模型更方便的找到相关的记亿并产生与答案最相近的输出。然后论文根据不同形式的输入(KB或者wiki文章),提出了几种不同的编码方式:

    1. KB Triple:由于知识库是以三元组的形式构成,所以很方便的就可以表示为(key, value)的形式。这里首先将KB进行double,也就是将主谓宾反过来变成宾谓主,这样使得有些问题可以很方便的被回答。然后将每个三元组的主+谓作为key,宾作为value即可(可以想象,一般的问题都是主语干了什么事之类的,所以主+谓作为key可以更好的跟Question进行匹配,而宾语往往是答案,那么根据key找到相应的答案也就与想要的结果更相似,所以这样的组合很完美==)
    2. Sentence Level:以句子为单位进行存储的时候,与end-to-end模型一样,都直接将句子的BOW表示存入memory即可,也就是key和value一样。每个memory slot存储一个句子。
    3. Window Level:以窗口长度W对原始wiki文章进行切分(只取以实体作为窗口中心的样本),然后将整个窗口的BoW表示作为key,该实体作为value。因为整个窗口的模式与问题模式更像,所以用它来对问题相关性评分可以找到最相关的memory,而答案往往就是实体,所以将窗口中心的实体作为value对生成答案更方便。
    4. Window + Center Encoding:将字典double,使用第二个字典对窗口中心进行编码,这样能更精确的找到中心词。也会跟答案最相关。
    5. Window + Title:仍然使用窗口的BoW表示作为key,但是使用wiki文章的标题title作为value,因为对于电影信息而言,文章标题往往就意味这电影名称,所以更贴近问题的答案。这里还会同时保持Center Encoding的方式同时作为value进行训练。

    至此,我们就介绍完了Key-Value memory networks的模型细节。今天先写到这,等下一篇在介绍模型的实现环节,先放假过十一,祝我的祖国生日快乐~~

    展开全文
  • 一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写...

    在过去的十年中,计算世界已经改变。现在不仅在大公司,甚至一些小公司也积累了TB量级的数据。各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限。 

    一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。 

    本文就为你介绍9种用于大数据处理的免费键值存储数据库。

     

    1. Aerospike 社区版

    Aerospike是一个以分布式为核心基础,可基于行随机存取内存中索引、数据或SSD存储中数据的数据库。 
    Aerospike主要用于广告业务,作为一个服务器端的cookie存储来使用,在这种场景下读取和写入性能是至关重要的。 
     

    2. LevelDB

    Leveldb是Google开发的一个非常高效的kv数据库,支持billion级别的数据量,在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计,特别是LSM算法。Leveldb已经作为存储引擎被Riak和Kyoto Tycoon所支持,在国内淘宝的Tair开源key-value存储也已经将LevelDB作为其持久化存储引擎,并部署在线上使用。 
     

    3. RocksDB

    RocksDB是一个可嵌入的持久的Key-Value存储。

     

    *leveldb和rocksdb性能对比

    测试一:将1B(即10亿)个key数据随机批量写入空数据库

    rocksdb:   103 minutes, 80 MB/sec (total data size 481 GB, 1 billion key-values)
    leveldb:   many many days (in 20 hours it inserted only 200 million key-values)
    

    原因:

    rocksdb其实使用了两步:先做fillrandom,再做compact

    leveldb只是使用了一步:fillrandom

    测试二:将1B个key数据顺序批量插入空数据库

    rocksdb:   36 minutes, 370 MB/sec (total data size 760 GB)
    leveldb:   91 minutes, 146 MB/sec (total data size 760 GB)
    
    Java
    
    fillseq : 2.48233 micros/op; 311.2 MB/s; 1000000000 ops done; 1 / 1 task(s) finished.
    

    原因:

    rocksdb使用了多线程compact

    测试三:随机覆盖1B个key数据

    rocksdb: 15 hours 38 min;  56.295 micros/op, 17K ops/sec,  13.8 MB/sec
    leveldb: many many days;  600 micros/op,     1.6K ops/sec, 1.3 MB/sec
              (in 5 days it overwrote only 662 million out of 1 billion keys, after which I killed the test)
    

    原因:

    rocksdb使用了20个compact线程,使用了6个level,仅了level 2及以上启用了gzip

    测试四:随机读取1B个key数据

    rocksdb:  70 hours,  8 micros/op, 126K ops/sec (checksum verification)
    leveldb: 102 hours, 12 micros/op,  83K ops/sec (no checksum verification)
    
    Java:
    
    readrandom : 7.67180 micros/op; 101.4 MB/s; 1000000000 / 1000000000 found; 32 / 32 task(s) finished.
    

    配置:rocksdb额外启用了checksum,leveldb关闭了checksum

    原因:rocksdb没有用mmaped IOs,这个在某些linux平台上会慢。rocksdb把block cache分成了64份,以降低锁力度。

    测试五:多线程读,同时单线程写

    rocksdb: 11 hours 30 minutes, 9.640 micros/read, 103734 reads/sec
    leveldb: 20 hours 28 minutes
    

    Java:

    readwhilewriting :     9.55882 micros/op;   81.4 MB/s; 100000000 / 100000000 found;  32 / 32 task(s) finished.
    

    配置:rocksdb release 2.7 and leveldb 1.15

    PS: RocksDB的配置,见官网:https://github.com/facebook/rocksdb/wiki/RocksDB-Tuning-Guide

    中文参考:http://www.jianshu.com/p/ddf652aa4882

     

    展开全文
  • 它借鉴了记忆增强神经网络的思想,结合了BKT和DKT的优点,DKVMN 用一个静态矩阵 key 存储所有的知识点和一个动态矩阵 value 存储以及更新学生的知识状态。在DKVMN论文中,他们比较了DKVMN和DKT,以及一个复杂的BKT...
  • 文章目录1、Redis 简介1.1、简述1.2、特点1.3、优势2、CentOS 操作 Redis2.1、安装启动2.1.1、安装2.1.2、改配置2.1.3、启动2.2、常用命令2.2.1、redis-cli2.2.2、auth命令2.2.3、PING 命令2.2.4、Key命令2.2.5、GET...
  • 大数据存储系统(2)--- Key-Value Store

    千次阅读 2017-05-29 11:01:50
    No-SQL: (1)这些系统大部分是由互联网公司研发,研发目标是支持某公司的某类重要的应用。 (2)放弃使用关系型系统,转而开发专门的...Key-Value Store:一种分布式数据存储系统。数据形式为,支持Get/Put操作。
  • 是因为6379端口被占用 解决方法:将redis.conf 中的port 6379改为port 6380 之后输入/etc/init.d/redis-server restart重启redis服务 最后链接redis:输入redis-cli -p 6380 连接成功! ...
  • Redis中key-value实现原理

    万次阅读 2018-03-15 14:58:50
    key1-value1  两个键值对用链表连接起来, 就可以解决碰撞的问题: 添加新键值对时触发了 rehash 操作 对于使用链地址法来解决碰撞问题的哈希表  size 属性)和它所保存的节点的数量( ht[0] )进行 rehash 操作:...
  • glib源码下载:http://ftp.gnome.org/pub/gnome/sources/glib/glib帮助文档:https://developer.gnome.org/glib/本节主要讲解Key-value文件解析器,可以轻松的帮我们实现配置文件的解析,类似于.ini文件的解析。...
  • Key-value(结构体数组的方式)

    千次阅读 2018-04-16 11:49:35
    Key-value列表 解释 通俗的说key是键,value是值。由key可以得到value。 示例 将Key-value定义成结构体数组进行存储: struct dhcp_kv { uint8_t key; int len; uint8_t value[512]; }; struct dhcp_...
  • Key-Value数据库 Redis

    千次阅读 2016-07-13 12:13:34
    Redis是开源NoSQL中Key-Value数据库的代表,采用C语言开发,遵循BSD License。支持内存、磁盘持久化存储,同时它具有非常丰富的数据类型,包括字符串、链表、有序集合等。高可用性方面自带主从架构,集群功能正在开发...
  • 首先是key-value的模型: public class PostValue {    private String key;       private String value;     public PostValue(String key, String value)     {     this.key
  • 今天记录一下spark里面的一些key-value对的相关算子。 key-value对可以简单理解为是一种认为构造的数据结构方式,比如一个字符串"hello",单看"hello"的话,它是一个字符串类型,现在假设我想把...
  • 感谢CentOS 因为 Redis 导致关机异常慢问题解决方法一文中作者给出的解决方法,本文大部分内容为转述该文章内容。问题描述:CentOS7.3虚拟机,为...sudo vim redisd #服务名称可能不同替换文件第33行的$CLIEXEC -...
  • javascript中使用key-value

    千次阅读 2017-05-06 16:46:26
    一切尽在不言中,直接上代码:var obj = { "01": "Hello World!", "02": "Hello Human!" }; alert(obj["02"]); 这有时候会在编码过程中带来莫大的方便。
  • python处理key-value脚本

    千次阅读 2017-12-26 19:14:48
    (注意:配置文件可能是key=value或者key=value1 value2.···的形式) V1.0代码如下(后续继续优化): #!/usr/bin/env python # -*- coding:utf-8 -*- """ This module is *** init config from al
  •  一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写...
  • java中按key-value存储,并按value排序

    千次阅读 2016-08-25 17:29:17
    java中按key-value存储,并按value排序
  • package day05; import java.util.HashMap; import java.util.Map;... * 以key-value对的形式存放元素。 * 在Map中key不允许重复(重复是依靠key的equals判断) * 常用的实现类:HashMap * @author kaix...
  • java实现http形式的post请求key-value格式与json格式的区别
  • key-value数据库优点

    千次阅读 2016-04-21 16:11:30
    key-value数据存储的优点
  • golang的一个基于内存的key-value 缓存

    千次阅读 2016-11-09 14:26:59
    golang key-value memcache
  • js中将字符串数组转换成key-value的对象数组
  • Key-value数据库

    万次阅读 2014-11-05 23:06:41
    Key-value数据库是一种以键值对存储数据的一种数据库,类似java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。Key-value数据库代表的有redis。Redis是一个Key-Value存储系统。和...
  • Android 基于Key-Value的缓存管理

    千次阅读 2017-04-07 13:36:34
    // tests whether the value exists boolean containUser = CacheManager.instance(Constants.userCacheOptions).contains( "userName" ); // remove value CacheManager.instance(Constants.userCacheOptions...
  • SQL查询JSON格式的key-value值 java json 数据字典 例如:字段名称为:product 字段值:{“name”:“iphone”,“price”:“¥1000”} 示例表: 现在查询该表中product字段里面的key为“name”的value值: select ...
  • 转为map,循环得到keyvalue { "dt": "VENUS_TDS_V0700R0200B20150601", "level": 30, "id": "152321043", "type": "Alert Log", "time": 1467958351859, "source": { "ip": "172.20.0.6", ...
  • key-value的特点: 读取&增删都快? 有 hash散列 字典 key-value,一段连续有限空间放value(开辟的空间比用到的多,hash是用空间换性能),基于key散列计算得到地址索引,这样读取快 增删也快,删除时也是计算...
  • 正则表达式匹配key-value

    千次阅读 2017-01-16 15:17:49
    Pattern p = Pattern.compile("\\b" + key + "\\s*=\\s*\"([^\"]*)\""); Matcher m = p.matcher(source); if (m.find()) { return m.group(1); } return null; } public static boolean isEmpty(String str)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,112,978
精华内容 845,191
关键字:

Key-Value