快速保存/加载无符号整数列表

问题描述

我有一个无符号整数列表,其中每个列表代表文本中的句子,每个整数表示与单词相关的唯一ID。
我需要根据这些“句子”在pytorch Dataset中创建(目标,上下文)或(目标[[c1,c2,...,cN])对。 目前,我使用pickle模块存储这些句子,并在创建Dataset实例时读取了所有句子(如果我有很多句子的话,这对于内存是不好的)。
我也已经尝试过依次保存和读取它们,一次一次“句子”到同一文件(由于连续不断地从磁盘读取,所以很糟糕)。
我还尝试将它们保存到txt文件中,并一次加载一个句子,然后使用map(int,line)重新创建列表(但由于从磁盘读取和处理时间的原因,我认为这很糟糕)。 br /> 有没有一种方法可以尽可能高效地保存和读取它们,从而节省内存并提高加载速度?
还是有办法部分加载一个pickle文件,例如,加载前N行并将其转换回它们代表的列表对象?
谢谢大家
编辑
回答@Jerome的问题:

  • 您是否拥有Python 2或Python 3? Python 3
  • 您需要文件可在多台计算机或OS上移植吗?否
  • 您要精确加载什么(例如,提取一个列表或所有列表中的一项,或者仅提取一项,等等)?我需要一次获取一个列表,然后从中构造一批(上下文,目标)单词的示例,以将其输入到PyTorch模型中,因此我需要列表中的所有项目,而且我需要所有这些项目
  • N和每个列表的平均大小是多少? N取决于window size的超参数,其范围可以从2到10或20。每个列表的平均大小大约为1000个整数,但即使这个数字也取决于多个因素(单词频率等)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)