mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Minor modification to allow relaxed precision test
Bug: 63911257
Test: mm
Test: VTS test pass on walleye
Merged-In: I41d9ea782262a894e7dbd00b782803c40b31c430
Change-Id: I41d9ea782262a894e7dbd00b782803c40b31c430
(cherry picked from commit 842e1a0331)
This commit is contained in:
@@ -66,7 +66,8 @@ void copy_back(MixedTyped* dst, const std::vector<RequestArgument>& ra, char* sr
|
||||
// Top level driver for models and examples generated by test_generator.py
|
||||
// Test driver for those generated from ml/nn/runtime/test/spec
|
||||
void EvaluatePreparedModel(sp<IPreparedModel>& preparedModel, std::function<bool(int)> is_ignored,
|
||||
const std::vector<MixedTypedExampleType>& examples) {
|
||||
const std::vector<MixedTypedExampleType>& examples,
|
||||
float fpRange = 1e-5f) {
|
||||
const uint32_t INPUT = 0;
|
||||
const uint32_t OUTPUT = 1;
|
||||
|
||||
@@ -174,7 +175,7 @@ void EvaluatePreparedModel(sp<IPreparedModel>& preparedModel, std::function<bool
|
||||
MixedTyped filtered_test = filter(test, is_ignored);
|
||||
|
||||
// We want "close-enough" results for float
|
||||
compare(filtered_golden, filtered_test);
|
||||
compare(filtered_golden, filtered_test, fpRange);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,7 +275,9 @@ void Execute(sp<V1_1::IDevice>& device, std::function<V1_1::Model(void)> create_
|
||||
}
|
||||
ASSERT_NE(nullptr, preparedModel.get());
|
||||
|
||||
EvaluatePreparedModel(preparedModel, is_ignored, examples);
|
||||
// If in relaxed mode, set the error range to be 5ULP of FP16.
|
||||
float fpRange = !model.relaxComputationFloat32toFloat16 ? 1e-5f : 5.0f * 0.0009765625f;
|
||||
EvaluatePreparedModel(preparedModel, is_ignored, examples, fpRange);
|
||||
}
|
||||
|
||||
} // namespace generated_tests
|
||||
|
||||
Reference in New Issue
Block a user