Skip to content

Commit cad2011

Browse files
committed
bug fix for synModify array out of bound
1 parent 083aa66 commit cad2011

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

mllib/src/main/scala/org/apache/spark/mllib/feature/Word2Vec.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,8 @@ class Word2Vec extends Serializable with Logging {
321321
// Hierarchical softmax
322322
var d = 0
323323
while (d < bcVocab.value(word).codeLen) {
324-
val ind = bcVocab.value(word).point(d)
325-
val l2 = ind * vectorSize
324+
val inner = bcVocab.value(word).point(d)
325+
val l2 = inner * vectorSize
326326
// Propagate hidden -> output
327327
var f = blas.sdot(vectorSize, syn, l1, 1, syn, l2, 1)
328328
if (f > -MAX_EXP && f < MAX_EXP) {
@@ -331,7 +331,7 @@ class Word2Vec extends Serializable with Logging {
331331
val g = ((1 - bcVocab.value(word).code(d) - f) * alpha).toFloat
332332
blas.saxpy(vectorSize, g, syn, l2, 1, neu1e, 0, 1)
333333
blas.saxpy(vectorSize, g, syn, l1, 1, syn, l2, 1)
334-
synModify(ind) += 1
334+
synModify(inner) += 1
335335
}
336336
d += 1
337337
}

0 commit comments

Comments
 (0)