@@ -27,13 +27,12 @@ namespace paddle {
2727
2828PaddleTensor LodTensorToPaddleTensor (framework::LoDTensor* t) {
2929 PaddleTensor pt;
30- pt.data .data = t->data <void >();
3130
3231 if (t->type () == typeid (int64_t )) {
33- pt.data .length = t->numel () * sizeof (int64_t );
32+ pt.data .Reset (t-> data < void >(), t->numel () * sizeof (int64_t ) );
3433 pt.dtype = PaddleDType::INT64;
3534 } else if (t->type () == typeid (float )) {
36- pt.data .length = t->numel () * sizeof (float );
35+ pt.data .Reset (t-> data < void >(), t->numel () * sizeof (float ) );
3736 pt.dtype = PaddleDType::FLOAT32;
3837 } else {
3938 LOG (FATAL) << " unsupported type." ;
@@ -79,8 +78,8 @@ void MainWord2Vec(bool use_gpu) {
7978 std::vector<PaddleTensor> outputs;
8079 ASSERT_TRUE (predictor->Run (paddle_tensor_feeds, &outputs));
8180 ASSERT_EQ (outputs.size (), 1UL );
82- size_t len = outputs[0 ].data .length ;
83- float * data = static_cast <float *>(outputs[0 ].data .data );
81+ size_t len = outputs[0 ].data .length () ;
82+ float * data = static_cast <float *>(outputs[0 ].data .data () );
8483 for (size_t j = 0 ; j < len / sizeof (float ); ++j) {
8584 ASSERT_LT (data[j], 1.0 );
8685 ASSERT_GT (data[j], -1.0 );
@@ -103,8 +102,6 @@ void MainWord2Vec(bool use_gpu) {
103102 EXPECT_LT (lod_data[i] - data[i], 1e-3 );
104103 EXPECT_GT (lod_data[i] - data[i], -1e-3 );
105104 }
106-
107- free (outputs[0 ].data .data );
108105}
109106
110107void MainImageClassification (bool use_gpu) {
@@ -143,13 +140,12 @@ void MainImageClassification(bool use_gpu) {
143140 std::vector<PaddleTensor> outputs;
144141 ASSERT_TRUE (predictor->Run (paddle_tensor_feeds, &outputs));
145142 ASSERT_EQ (outputs.size (), 1UL );
146- size_t len = outputs[0 ].data .length ;
147- float * data = static_cast <float *>(outputs[0 ].data .data );
143+ size_t len = outputs[0 ].data .length () ;
144+ float * data = static_cast <float *>(outputs[0 ].data .data () );
148145 float * lod_data = output1.data <float >();
149146 for (size_t j = 0 ; j < len / sizeof (float ); ++j) {
150147 EXPECT_NEAR (lod_data[j], data[j], 1e-3 );
151148 }
152- free (data);
153149}
154150
155151void MainThreadsWord2Vec (bool use_gpu) {
@@ -192,8 +188,8 @@ void MainThreadsWord2Vec(bool use_gpu) {
192188
193189 // check outputs range
194190 ASSERT_EQ (local_outputs.size (), 1UL );
195- const size_t len = local_outputs[0 ].data .length ;
196- float * data = static_cast <float *>(local_outputs[0 ].data .data );
191+ const size_t len = local_outputs[0 ].data .length () ;
192+ float * data = static_cast <float *>(local_outputs[0 ].data .data () );
197193 for (size_t j = 0 ; j < len / sizeof (float ); ++j) {
198194 ASSERT_LT (data[j], 1.0 );
199195 ASSERT_GT (data[j], -1.0 );
@@ -205,7 +201,6 @@ void MainThreadsWord2Vec(bool use_gpu) {
205201 for (int i = 0 ; i < refs[tid].numel (); ++i) {
206202 EXPECT_NEAR (ref_data[i], data[i], 1e-3 );
207203 }
208- free (data);
209204 });
210205 }
211206 for (int i = 0 ; i < num_jobs; ++i) {
@@ -251,14 +246,13 @@ void MainThreadsImageClassification(bool use_gpu) {
251246
252247 // check outputs correctness
253248 ASSERT_EQ (local_outputs.size (), 1UL );
254- const size_t len = local_outputs[0 ].data .length ;
255- float * data = static_cast <float *>(local_outputs[0 ].data .data );
249+ const size_t len = local_outputs[0 ].data .length () ;
250+ float * data = static_cast <float *>(local_outputs[0 ].data .data () );
256251 float * ref_data = refs[tid].data <float >();
257252 EXPECT_EQ (refs[tid].numel (), len / sizeof (float ));
258253 for (int i = 0 ; i < refs[tid].numel (); ++i) {
259254 EXPECT_NEAR (ref_data[i], data[i], 1e-3 );
260255 }
261- free (data);
262256 });
263257 }
264258 for (int i = 0 ; i < num_jobs; ++i) {
0 commit comments