Python 在hadoop集群上培训word2vec
尝试训练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
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"))
增加执行器内存似乎没有帮助
conf = (SparkConf()
.set("spark.driver.maxResultSize", "0")\
.set("driver-memory", "50g")\
.set("executor-memory", "6g")\
.set("num-executors", "400"))