ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    No detections when running custom YOLOv8 model on voxl-tflite-server

    VOXL 2
    2
    16
    466
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Zachary Lowell 0Z
      Zachary Lowell 0 ModalAI Team
      last edited by

      @svempati said in No detections when running custom YOLOv8 model on voxl-tflite-server:

      I just ran voxl-tflite-server directly from the command line instead of in the background via systemd - aka run voxl-tflite-server directly on the command line. I would recommend NOT quantizing your model as the directions in the train yolov8 do not recommend that.

      Zach

      S 2 Replies Last reply Reply Quote 0
      • S
        svempati @Zachary Lowell 0
        last edited by

        @Zachary-Lowell-0 Got it, I will try that out and will let you know if I have any more questions. Thanks for your help!

        1 Reply Last reply Reply Quote 0
        • S
          svempati @Zachary Lowell 0
          last edited by svempati

          @Zachary-Lowell-0 I wanted to follow up with you again on this, and the issue seems to be the model conversion process from pytorch to tflite. To confirm this, I tried it with the default yolov8n.pt downloaded from ultralytics by entering this command from the gitlab repository:

          python export.py yolov8n.pt
          

          So that I create a new yolov8n_float16.tflite file. However, running this file on voxl-tflite-server shows this output before displaying Error in TensorData<float>: should not reach here:

          WARNING: Unknown model type provided! Defaulting post-process to object detection.
          INFO: Created TensorFlow Lite delegate for GPU.
          INFO: Initialized OpenCL-based API.
          INFO: Created 1 GPU delegate kernels.
          Successfully built interpreter
          
          ------VOXL TFLite Server------
          
           4 5 6
           4 5 6
          Connected to camera server
          
          

          I even tried running export.py on the voxl emulator to account for any differences in the cpu architecture between my computer and the VOXL (between X86 and ARM) but I still get the same error. Do you think there is anything I would be missing? Thank you!

          1 Reply Last reply Reply Quote 0
          • Zachary Lowell 0Z
            Zachary Lowell 0 ModalAI Team
            last edited by

            @svempati said in No detections when running custom YOLOv8 model on voxl-tflite-server:

            WARNING: Unknown model type provided! Defaulting post-process to object detection.

            @svempati I will try recreating this issue today and get back to you!

            S 1 Reply Last reply Reply Quote 0
            • S
              svempati @Zachary Lowell 0
              last edited by

              @Zachary-Lowell-0 Just wanted to follow up to see if you were able to replicate this issue?

              1 Reply Last reply Reply Quote 0
              • Zachary Lowell 0Z
                Zachary Lowell 0 ModalAI Team
                last edited by

                @svempati I was able to use an open source training set and then leverage the docs to make my own custom yolov8 model capable of running on the voxl2 - do you want to provide to me the actual dataset and I can try creating the model and training it on a TPU?

                S 1 Reply Last reply Reply Quote 0
                • S
                  svempati @Zachary Lowell 0
                  last edited by svempati

                  @Zachary-Lowell-0 I would first like to diagnose what is causing the yolov8 model to not work on the voxl 2 for me. Will it only work when you train the model/ export it to tflite on a TPU? I am getting the issue even if I train the yolov8 model on an open source dataset/ use the pretrained yolov8n.pt model downloaded from ultralytics. I want to make sure I can train a yolov8 model on an open source dataset from scratch works on the voxl, so that I can move on to using my custom dataset.

                  In case there is no other workaround then I should be able to send you the dataset I am using.

                  Thanks!

                  1 Reply Last reply Reply Quote 0
                  • Zachary Lowell 0Z
                    Zachary Lowell 0 ModalAI Team
                    last edited by

                    Let me try and train a custom model and run a loom on it in the next few days and get that over to you showing how I do it!

                    1 Reply Last reply Reply Quote 0
                    • Zachary Lowell 0Z
                      Zachary Lowell 0 ModalAI Team
                      last edited by

                      https://www.loom.com/share/bf52e252ab09444bb366f265a3f36dc5

                      Alright take a look at this loom please - it might help point you in the right direction in terms of training your model.

                      Zach

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        svempati @Zachary Lowell 0
                        last edited by

                        @Zachary-Lowell-0 Thanks for sharing the video! I looked at it, and I pretty much did the same steps you did. It might be worth mentioning that I had to modify the Dockerfile because the one in the documentation was throwing a version mismatch error when installing the onnx part.

                        This was the original docker command

                        RUN pip3 install ultralytics tensorflow onnx "onnx2tf>1.17.5,<=1.22.3" tflite_support onnxruntime onnxslim "onnx_graphsurgeon>=0.3.26" "sng4onnx>=1.0.1" tf_keras
                        

                        I modified it to this

                        RUN pip3 install ultralytics tensorflow "onnx2tf>1.17.5,<=1.22.3" tflite_support onnxruntime onnxslim "onnx_graphsurgeon>=0.3.26" "sng4onnx>=1.0.1" tf_keras
                        RUN pip3 install onnx==1.20.1
                        

                        I don't think this should cause any issues, but could you confirm?

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB | Contributors