Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在hadoop集群上培训word2vec_Python_Hadoop_Pyspark_Word2vec - Fatal编程技术网

Python 在hadoop集群上培训word2vec

Python 在hadoop集群上培训word2vec,python,hadoop,pyspark,word2vec,Python,Hadoop,Pyspark,Word2vec,尝试训练Word2vec模型时,我遇到以下错误: py4j.protocol.Py4JJavaError: An error occurred while calling o106.trainWord2VecModel. : java.lang.OutOfMemoryError: Requested array size exceeds VM limit 我试图根据以下公式将向量的增长限制在整数的最大值范围内: featureSize = (maxIntSize / 8)/vocabulary

尝试训练Word2vec模型时,我遇到以下错误:

py4j.protocol.Py4JJavaError: An error occurred while calling o106.trainWord2VecModel.
: java.lang.OutOfMemoryError: Requested array size exceeds VM limit
我试图根据以下公式将向量的增长限制在整数的最大值范围内:

featureSize = (maxIntSize / 8)/vocabulary size
其中:

maxIntsize/8 = 268435455 
就我而言

以及:

因此,特征向量大小设置为:

148
为我的任务留下足够的辨别能力,同时不会超出系统阵列大小的界限

我的设置是:

conf = (SparkConf()
.set("spark.driver.maxResultSize", "0")\
.set("driver-memory", "50g")\
.set("executor-memory", "6g")\
.set("num-executors", "400")) 
增加执行器内存似乎没有帮助


Google,也不要求集群咨询师知道如何解决它。

你可以考虑Word2VEC的java IMPL:它是在CDH和HDP上认证的。谢谢你的建议。我以前看过,你觉得这真的很重要吗?Python简单调用底层函数。。。这将如何影响数组大小限制?Python包装器将降低您的速度。我们的word2vec的impl有很好的文档记录,可以处理大型模型,这里有一个用户社区在谈论它:@tremstat我很好奇:你如何根据CDH/HDP认证一个框架?这到底意味着什么?这意味着你将软件与CDH或HDP的一部分一起运行,向Cloudera或Hortonworks展示结果并记录过程,并满足他们可能提出的任何问题。基本上,认证意味着你已经做了初步的工作,确保你的软件与这些其他的DeROS很好地配合,这样最终用户就可以更容易地使用这两种方法……你可能会考虑Word2VEC的java IMPL:它是在CDH和HDP上认证的。谢谢你的建议。我以前看过,你觉得这真的很重要吗?Python简单调用底层函数。。。这将如何影响数组大小限制?Python包装器将降低您的速度。我们的word2vec的impl有很好的文档记录,可以处理大型模型,这里有一个用户社区在谈论它:@tremstat我很好奇:你如何根据CDH/HDP认证一个框架?这到底意味着什么?这意味着你将软件与CDH或HDP的一部分一起运行,向Cloudera或Hortonworks展示结果并记录过程,并满足他们可能提出的任何问题。基本上,认证意味着您已经完成了确保您的软件与这些其他发行版配合良好的准备工作,以便最终用户能够更轻松地使用这两个发行版。。。
conf = (SparkConf()
.set("spark.driver.maxResultSize", "0")\
.set("driver-memory", "50g")\
.set("executor-memory", "6g")\
.set("num-executors", "400"))