| 396 | } // namespace |
| 397 | |
| 398 | bool Verify(const void* buf, size_t len, const OpResolver& resolver, |
| 399 | ErrorReporter* error_reporter) { |
| 400 | const Model* model = VerifyFlatbufferAndGetModel(buf, len); |
| 401 | if (model == nullptr) { |
| 402 | ReportError(error_reporter, "Invalid flatbuffer format"); |
| 403 | return false; |
| 404 | } |
| 405 | if (model->version() != TFLITE_SCHEMA_VERSION) { |
| 406 | ReportError(error_reporter, "Invalid model version %d", model->version()); |
| 407 | return false; |
| 408 | } |
| 409 | if (!VerifySubGraphs(*model, error_reporter)) { |
| 410 | return false; |
| 411 | } |
| 412 | if (!VerifyTensors(*model, error_reporter)) { |
| 413 | return false; |
| 414 | } |
| 415 | if (!VerifyOps(*model, resolver, error_reporter)) { |
| 416 | return false; |
| 417 | } |
| 418 | return true; |
| 419 | } |
| 420 | } // namespace tflite |