@@ -21,6 +21,12 @@ limitations under the License. */
21
21
#include " paddle/fluid/inference/api/api_impl.h"
22
22
#include " paddle/fluid/inference/tests/test_helper.h"
23
23
24
+ #ifdef __clang__
25
+ #define ACC_DIFF 4e-3
26
+ #else
27
+ #define ACC_DIFF 1e-3
28
+ #endif
29
+
24
30
DEFINE_string (dirname, " " , " Directory of the inference model." );
25
31
26
32
namespace paddle {
@@ -99,8 +105,8 @@ void MainWord2Vec(bool use_gpu) {
99
105
100
106
float * lod_data = output1.data <float >();
101
107
for (int i = 0 ; i < output1.numel (); ++i) {
102
- EXPECT_LT (lod_data[i] - data[i], 1e-3 );
103
- EXPECT_GT (lod_data[i] - data[i], -1e-3 );
108
+ EXPECT_LT (lod_data[i] - data[i], ACC_DIFF );
109
+ EXPECT_GT (lod_data[i] - data[i], -ACC_DIFF );
104
110
}
105
111
}
106
112
@@ -144,7 +150,7 @@ void MainImageClassification(bool use_gpu) {
144
150
float * data = static_cast <float *>(outputs[0 ].data .data ());
145
151
float * lod_data = output1.data <float >();
146
152
for (size_t j = 0 ; j < len / sizeof (float ); ++j) {
147
- EXPECT_NEAR (lod_data[j], data[j], 1e-3 );
153
+ EXPECT_NEAR (lod_data[j], data[j], ACC_DIFF );
148
154
}
149
155
}
150
156
@@ -199,7 +205,7 @@ void MainThreadsWord2Vec(bool use_gpu) {
199
205
float * ref_data = refs[tid].data <float >();
200
206
EXPECT_EQ (refs[tid].numel (), static_cast <int64_t >(len / sizeof (float )));
201
207
for (int i = 0 ; i < refs[tid].numel (); ++i) {
202
- EXPECT_NEAR (ref_data[i], data[i], 1e-3 );
208
+ EXPECT_NEAR (ref_data[i], data[i], ACC_DIFF );
203
209
}
204
210
});
205
211
}
@@ -251,7 +257,7 @@ void MainThreadsImageClassification(bool use_gpu) {
251
257
float * ref_data = refs[tid].data <float >();
252
258
EXPECT_EQ ((size_t )refs[tid].numel (), len / sizeof (float ));
253
259
for (int i = 0 ; i < refs[tid].numel (); ++i) {
254
- EXPECT_NEAR (ref_data[i], data[i], 1e-3 );
260
+ EXPECT_NEAR (ref_data[i], data[i], ACC_DIFF );
255
261
}
256
262
});
257
263
}
0 commit comments