Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fec7563e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Minor modification to allow relaxed precision test"

parents 538790de 842e1a03
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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