Use missing features in parser

This commit is contained in:
Matthew Honnibal 2017-10-28 16:45:54 +00:00
parent df4803cc6d
commit 5414e2f14b

View File

@ -157,12 +157,14 @@ cdef void sum_state_features(float* output,
const float* cached, const int* token_ids, int B, int F, int O) nogil:
cdef int idx, b, f, i
cdef const float* feature
padding = cached - (F * O)
for b in range(B):
for f in range(F):
if token_ids[f] < 0:
continue
idx = token_ids[f] * F * O + f*O
feature = &cached[idx]
feature = &padding[f*O]
else:
idx = token_ids[f] * F * O + f*O
feature = &cached[idx]
for i in range(O):
output[i] += feature[i]
output += O