Commit 57fd3510 by xiaotong

fix the bug in deleting buf tensors

parent edd90176
...@@ -451,10 +451,10 @@ void XMathGrad::GradDivDim(XTensor * node) ...@@ -451,10 +451,10 @@ void XMathGrad::GradDivDim(XTensor * node)
DelTensorBuf(interGrad); DelTensorBuf(interGrad);
} }
DelTensorBuf(aTMP1);
DelTensorBuf(aTMP2);
DelTensorBuf(bTMP);
DelTensorBuf(interGradTMP); DelTensorBuf(interGradTMP);
DelTensorBuf(bTMP);
DelTensorBuf(aTMP2);
DelTensorBuf(aTMP1);
node->visitMark = NODE_FINISHED; node->visitMark = NODE_FINISHED;
} }
...@@ -499,8 +499,8 @@ void XMathGrad::GradMatrixMul(XTensor * node) ...@@ -499,8 +499,8 @@ void XMathGrad::GradMatrixMul(XTensor * node)
a->Reshape(a->unitNum/a->GetDim(-1), a->GetDim(-1)); a->Reshape(a->unitNum/a->GetDim(-1), a->GetDim(-1));
c->Reshape(c->unitNum/c->GetDim(-1), c->GetDim(-1)); c->Reshape(c->unitNum/c->GetDim(-1), c->GetDim(-1));
deda->Reshape(a->unitNum/a->GetDim(-1), a->GetDim(-1)); deda->Reshape(deda->unitNum/deda->GetDim(-1), deda->GetDim(-1));
dedc->Reshape(c->unitNum/c->GetDim(-1), c->GetDim(-1)); dedc->Reshape(dedc->unitNum/dedc->GetDim(-1), dedc->GetDim(-1));
GradMatrixMul(a, deda, transA, b, dedb, transB, dedc, alpha); GradMatrixMul(a, deda, transA, b, dedb, transB, dedc, alpha);
...@@ -796,6 +796,7 @@ gradient for normalize ...@@ -796,6 +796,7 @@ gradient for normalize
*/ */
void XMathGrad::GradNormalize(XTensor * node) void XMathGrad::GradNormalize(XTensor * node)
{ {
ShowNTErrors("This is really a bad piece of code!!!");
XLink &income = node->income; XLink &income = node->income;
CheckNTErrors(income.tailNum == 5, "Wrong input tensor number for NORMALIZE!"); CheckNTErrors(income.tailNum == 5, "Wrong input tensor number for NORMALIZE!");
...@@ -1274,10 +1275,10 @@ void XMathGrad::GradReduceSumSquared(XTensor * node) ...@@ -1274,10 +1275,10 @@ void XMathGrad::GradReduceSumSquared(XTensor * node)
_ScaleAndShiftMe(f, -2.0F); _ScaleAndShiftMe(f, -2.0F);
_Multiply(node->grad, f, b->grad, 1.0F); _Multiply(node->grad, f, b->grad, 1.0F);
DelTensorBuf(c);
DelTensorBuf(d);
DelTensorBuf(e);
DelTensorBuf(f); DelTensorBuf(f);
DelTensorBuf(e);
DelTensorBuf(d);
DelTensorBuf(c);
node->visitMark = NODE_FINISHED; node->visitMark = NODE_FINISHED;
} }
...@@ -1323,10 +1324,10 @@ void XMathGrad::GradReduceVariance(XTensor * node) ...@@ -1323,10 +1324,10 @@ void XMathGrad::GradReduceVariance(XTensor * node)
_ScaleAndShiftMe(f, -2.0F /n); _ScaleAndShiftMe(f, -2.0F /n);
_Multiply(node->grad, f, b->grad, 1.0F); _Multiply(node->grad, f, b->grad, 1.0F);
DelTensorBuf(c);
DelTensorBuf(d);
DelTensorBuf(e);
DelTensorBuf(f); DelTensorBuf(f);
DelTensorBuf(e);
DelTensorBuf(d);
DelTensorBuf(c);
node->visitMark = NODE_FINISHED; node->visitMark = NODE_FINISHED;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论