抱歉,之前是否有人问过这个问题(尽管我真的找不到解决方案)。
我不太擅长编程,但无论如何,我正在爬取一堆网站并将有关它们的信息存储在服务器上。我需要一个 java 程序来处理与每个文档相关联的矢量坐标(大约十亿个文档,总共有 500,000 个数字,正负,与每个文档相关联)。我需要计算整个矩阵的奇异值分解。
现在,据我所知,Java 显然无法处理这么大的矩阵。如果我尝试制作一个相对较小的数组(大约 4400 万大),那么我会得到一个堆错误。我使用 eclipse,因此我尝试将 -xmx 值更改为 1024m(即使我有一台具有 8gb 内存的计算机,由于某种原因它也不会更高)。
有什么解决办法呢?检索我需要的数据的另一种方法?以不同的方式计算 SVD?使用不同的编程语言来做到这一点?
编辑:就目前而言,假设有 10 亿个条目,每个条目关联 3 个单词。我正在正确设置 Xmx 和 Xms(来自 eclipse 中的运行配置 -> 这相当于在命令提示符下运行 java -XmsXXXX -XmxXXXX ......)