gpt4 book ai didi

java - 访问大型数据集和/或存储它们

转载 作者:行者123 更新时间:2023-11-30 04:53:36 26 4
gpt4 key购买 nike

目前我正在处理大量用于计算的浮点/ double 据集。我有一组文件来比较数据 A 和数据 B,我想计算欧几里得距离/余弦相似度。 IE。数据 A 点 1 迭代数据 B 点以查找最近的邻居。

数据在文本文件中给出 - 没有问题。存储/读取信息的理想方式是什么?

我必须为数据 A 中的所有点重复数据 B。数据将存储为 float 。每个数据点可能有维度。一个文件最多可以包含大约 200 万个 float 。

我应该使用:

  1. 不断地读取Data B的文件并解析字符串(我觉得这样效率很低)
  2. 将数据存储在列表( float 数组)中
  3. 使用内存映射 IO?
  4. HashMap(我对 HashMap 比较陌生,他们说集合的位置可能会随着时间的推移而改变,如果我只是迭代而不进行任何修改,位置会改变吗?)

最佳答案

2M 的 float 根本不算多,把它们全部放在一个列表中就完全没问题了。 A 一个列表,B 一个列表。如果 A 和 B 是多维的,则 float[][] 就可以了。如果您发现内存不足,请尝试先加载整个 B,但一次加载 A 中的一个数据点。

关于java - 访问大型数据集和/或存储它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9307730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com