MCPcopy Create free account
hub / github.com/alibaba/MNN / _checkResult

Method _checkResult

test/expr/ModuleTest.cpp:1292–1324  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1290 return _run(precision, true);
1291 }
1292 bool _checkResult(std::shared_ptr<MNN::Express::Module> basic, int precision, bool shapeMultable) {
1293 std::shared_ptr<MNN::Express::Module> m0(Module::clone(basic.get()), Module::destroy);
1294 std::shared_ptr<MNN::Express::Module> m1(Module::clone(basic.get()), Module::destroy);
1295
1296 auto x = _Input({1, 3, 32, 32}, NCHW, halide_type_of<float>());
1297 auto ptr = x->writeMap<float>();
1298 for (int i=0; i<x->getInfo()->size; ++i) {
1299 ptr[i] = i * 0.0001f;
1300 }
1301 x->unMap();
1302 x = x + _Scalar<float>(0.001f);
1303 auto firstResult = m0->onForward({x})[0]->readMap<float>()[0];
1304 auto y = _Input({1, 3, 33, 33}, NCHW, halide_type_of<float>());
1305 y->writeMap<float>();
1306 y->unMap();
1307 m0->onForward({y});
1308 auto z = _Input({1, 3, 34, 34}, NCHW, halide_type_of<float>());
1309 z->writeMap<float>();
1310 z->unMap();
1311 m1->onForward({z});
1312 x = _Input({1, 3, 32, 32}, NCHW, halide_type_of<float>());
1313 ptr = x->writeMap<float>();
1314 for (int i=0; i<x->getInfo()->size; ++i) {
1315 ptr[i] = i * 0.0001f;
1316 }
1317 x->unMap();
1318 x = x + _Scalar<float>(0.001f);
1319 auto secondResult = m0->onForward({x})[0]->readMap<float>()[0];
1320 if (fabsf(firstResult - secondResult) >= 1e-6) {
1321 return false;
1322 }
1323 return true;
1324 }
1325
1326 bool _run(int precision, bool shapeMultable) {
1327 BackendConfig bnConfig;

Callers

nothing calls this directly

Calls 6

_InputFunction · 0.85
unMapMethod · 0.80
cloneFunction · 0.50
getMethod · 0.45
getInfoMethod · 0.45
onForwardMethod · 0.45

Tested by

no test coverage detected