message: Calls Hexagon Init before creating the Hexagon delegate as noted by the Hexagon delegate README.
diff: @@ -141,21 +141,23 @@ Interpreter::TfLiteDelegatePtr CreateGPUDelegate() {
  Interpreter::TfLiteDelegatePtr CreateHexagonDelegate(
  const std::string& library_directory_path, bool profiling) {
  #if defined(__ANDROID__) && (defined(__arm__) || defined(__aarch64__))
  + if (library_directory_path.empty()) {
  + TfLiteHexagonInit();
  + } else {
  + TfLiteHexagonInitWithPath(library_directory_path.c_str());
  + }
  +
  const TfLiteHexagonDelegateOptions options = {
  /*debug_level=*/0, /*powersave_level=*/0, profiling,
  /*print_graph_debug=*/false};
  TfLiteDelegate* delegate = TfLiteHexagonDelegateCreate(&options);
  if (!delegate) {
  + TfLiteHexagonTearDown();
  return CreateNullDelegate();
  }
  - if (library_directory_path.empty()) {
  - TfLiteHexagonInit();
  - } else {
  - TfLiteHexagonInitWithPath(library_directory_path.c_str());
  - }
  return Interpreter::TfLiteDelegatePtr(delegate, [](TfLiteDelegate* delegate) {
  - TfLiteHexagonTearDown();
  TfLiteHexagonDelegateDelete(delegate);
  + TfLiteHexagonTearDown();
  });
  #else
  return CreateNullDelegate();
  