Skip to content

Commit 9725db0

Browse files
committed
Fix copy wrong pos bug
test=develop
1 parent 9c68709 commit 9725db0

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

paddle/fluid/operators/math/sequence_pooling.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ class SequencePoolGradFunctor<platform::CPUDeviceContext, T> {
242242
auto blas = math::GetBlas<platform::CPUDeviceContext, T>(context);
243243
for (int i = 0; i < static_cast<int>(lod.size()) - 1; ++i) {
244244
int64_t h = static_cast<int64_t>(lod[i + 1] - lod[i]);
245-
int64_t in_offset = lod[i];
245+
int64_t in_offset = lod[i] * in_w;
246246
const T* out_pos = out_g_data + i * out_w;
247247
T* in_pos = in_g_data + in_offset;
248248
for (int r = 0; r != h; ++r) {

paddle/fluid/operators/math/sequence_pooling_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void TestSequencePoolingSum(const paddle::framework::LoD& lod) {
7070
EXPECT_EQ(in_grad.lod(), lod);
7171

7272
if (paddle::platform::is_cpu_place(*place)) {
73-
for (int64_t i = 0; i < cpu_in_grad.lod()[0].size() - 1; ++i) {
73+
for (int64_t i = 0; i < in_grad.lod()[0].size() - 1; ++i) {
7474
int64_t begin = in_grad.lod()[0][i];
7575
int64_t end = in_grad.lod()[0][i + 1];
7676
paddle::framework::Tensor tmp = in_grad.Slice(begin, end);

0 commit comments

Comments
 (0)