提交 701d0245 编写于 作者: P Peng Li

Fix bug in processing input with static parameter in seqconcat layer

上级 6089b7c6
...@@ -168,13 +168,17 @@ void SequenceConcatLayer::backward(const UpdateCallback& callback) { ...@@ -168,13 +168,17 @@ void SequenceConcatLayer::backward(const UpdateCallback& callback) {
size_t rightNumIns = 0; size_t rightNumIns = 0;
for (size_t seqId = 0; seqId < numSequences1; ++seqId) { for (size_t seqId = 0; seqId < numSequences1; ++seqId) {
leftNumIns = starts1[seqId + 1] - starts1[seqId]; leftNumIns = starts1[seqId + 1] - starts1[seqId];
if (inputGrad1) {
inputGrad1->subMatrix(starts1[seqId], leftNumIns) inputGrad1->subMatrix(starts1[seqId], leftNumIns)
->add(*(outputGrad->subMatrix(offset, leftNumIns))); ->add(*(outputGrad->subMatrix(offset, leftNumIns)));
}
offset += leftNumIns; offset += leftNumIns;
rightNumIns = starts2[seqId + 1] - starts2[seqId]; rightNumIns = starts2[seqId + 1] - starts2[seqId];
if (inputGrad2) {
inputGrad2->subMatrix(starts2[seqId], rightNumIns) inputGrad2->subMatrix(starts2[seqId], rightNumIns)
->add(*(outputGrad->subMatrix(offset, rightNumIns))); ->add(*(outputGrad->subMatrix(offset, rightNumIns)));
}
offset += rightNumIns; offset += rightNumIns;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册