Edge TPU `tf.lite.experimental.load_delegate` fix
diff --git a/models/common.py b/models/common.py
index 29d02e741e1..4da69881166 100644
--- a/models/common.py
+++ b/models/common.py
@@ -374,19 +374,20 @@ def wrap_frozen_graph(gd, inputs, outputs):
                 graph_def.ParseFromString(open(w, 'rb').read())
                 frozen_func = wrap_frozen_graph(gd=graph_def, inputs="x:0", outputs="Identity:0")
             elif tflite:  # https://www.tensorflow.org/lite/guide/python#install_tensorflow_lite_for_python
-                try:
-                    import tflite_runtime.interpreter as tfl  # prefer tflite_runtime if installed
+                try:  # prefer tflite_runtime if installed
+                    from tflite_runtime.interpreter import Interpreter, load_delegate
                 except ImportError:
-                    import tensorflow.lite as tfl
+                    import tensorflow.lite.experimental.load_delegate as load_delegate
+                    import tensorflow.lite.Interpreter as Interpreter
                 if 'edgetpu' in w.lower():  # Edge TPU https://coral.ai/software/#edgetpu-runtime
                     LOGGER.info(f'Loading {w} for TensorFlow Lite Edge TPU inference...')
                     delegate = {'Linux': 'libedgetpu.so.1',
                                 'Darwin': 'libedgetpu.1.dylib',
                                 'Windows': 'edgetpu.dll'}[platform.system()]
-                    interpreter = tfl.Interpreter(model_path=w, experimental_delegates=[tfl.load_delegate(delegate)])
+                    interpreter = Interpreter(model_path=w, experimental_delegates=[load_delegate(delegate)])
                 else:  # Lite
                     LOGGER.info(f'Loading {w} for TensorFlow Lite inference...')
-                    interpreter = tfl.Interpreter(model_path=w)  # load TFLite model
+                    interpreter = Interpreter(model_path=w)  # load TFLite model
                 interpreter.allocate_tensors()  # allocate
                 input_details = interpreter.get_input_details()  # inputs
                 output_details = interpreter.get_output_details()  # outputs

Fix attempt for #6535

## 🛠️ PR Summary

<sub>Made with ❤️ by [Ultralytics Actions](https://github.com/ultralytics/actions)<sub>

### 🌟 Summary
Refinement of TensorFlow Lite model loading in YOLOv5.

### 📊 Key Changes
- Unified import statements for TensorFlow Lite (TFLite) to improve readability and maintainability.
- Adjusted the use of the `tflite_runtime.interpreter` import to better differentiate between the full TensorFlow Lite package and the TensorFlow Lite runtime package.
- Ensured compatibility with Edge TPU by dynamically loading the appropriate delegate based on the underlying operating system.

### 🎯 Purpose & Impact
- **Simplification of Code:** By consolidating import statements and handling TensorFlow Lite in a more straightforward manner, the code is cleaner and easier to understand.
- **Enhanced Flexibility:** This update provides better support for Edge TPU devices by adapting the delegate loading process to the user's operating system.
- **User Experience:** Users will benefit from a smoother experience when running YOLOv5 models with TensorFlow Lite, particularly those using Edge TPU hardware for accelerated inference.