手机号码,快捷登录
签到天数: 804 天
[LV.10]以坛为家III
2053
2111
72万
管理员
背景:当读取一个key value数据的时候,python的字典结构会造成内存使用扩10倍左右,无可容忍。此文解决这个问题
数据:word2vec训练的结果,word对应400维的词向量。词表共1.6G左右
解决方案:利用python的class array进行解决。
步骤:1、将原始数据,转化成key,index和 二进制的value数据块文件,其中二进制的value数据块大小为750M
2、array加载后按照索引进行查询 效果:只占用了800M左右内存,大大缩小了内存的使用。查询采用:vec += word2vec_array[index*word2vec_dim + i]
培治
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )
GMT+8, 2024-11-27 12:12 , Processed in 0.066217 second(s), 30 queries .
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.