Train YOLO-NAS - SOTA Object Detection Model - on Custom Dataset

แชร์
ฝัง

ความคิดเห็น • 98

  • @elbaz_afandy
    @elbaz_afandy ปีที่แล้ว

    error ImportError Traceback (most recent call last)
    in ()
    ----> 1 from super_gradients.training import models
    2
    3 model = models.get(MODEL_ARCH, pretrained_weights="coco").to(DEVICE)
    13 frames
    /usr/local/lib/python3.10/dist-packages/PIL/ImageFont.py in
    36 from . import Image
    37 from ._deprecate import deprecate
    ---> 38 from ._util import is_directory, is_path
    39
    40
    ImportError: cannot import name 'is_directory' from 'PIL._util' (/usr/local/lib/python3.10/dist-packages/PIL/_util.py)

    • @elbaz_afandy
      @elbaz_afandy ปีที่แล้ว +1

      solution install at first !pip install --upgrade pillow==6.2.2

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      @@elbaz_afandy ir just restart the environment :) Does that fix with pillow==6.2.2 work? I tried that and it didn't :/

    • @elbaz_afandy
      @elbaz_afandy ปีที่แล้ว +1

      @@Roboflow you maybe correct, just restating is the problem solution

    • @Roboflow
      @Roboflow  ปีที่แล้ว +1

      @@elbaz_afandy I'll pin your comment. I expect others may face similar issues.

    • @seroshmannan
      @seroshmannan ปีที่แล้ว

      restart runtime

  • @TheEBcodkings
    @TheEBcodkings ปีที่แล้ว +9

    please make a video on model selection, its a great idea!

    • @Roboflow
      @Roboflow  ปีที่แล้ว +3

      That’s what I wanted to hear 🙏🏻

  • @SinMxchine
    @SinMxchine ปีที่แล้ว +1

    As someone that's just getting into this, I really like how user friendly Roboflow is. Only thing stopping me from continuing to use it unfortunately is the price point per month on top of only allowing 5,000 images per month with the paid plan. I really wish you all had 4 tiers. Free can stay the same, add the first paid plan for $100 that gives users 4K images, mid tier plan for $200 that gives users 8K images, and top tier plan for $250 that give 10K images + some extra bonuses. This is more competitive imo and would bring more people to the platform over finding cheaper alternatives that allow more freedom to try out multiple new things. I could see you guys being the top dog in this market with how easy setup is and with your TH-cam guides which are easy and fast to understand. It's that price point to image ratio that is truly killing me here.

  • @mohammadasadi-e7b
    @mohammadasadi-e7b ปีที่แล้ว +1

    best yolo NAS custom dataset tutorial , ever !

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Haha thanks a lot 🙏🏻! Part 2 coming soon!

  • @yashrathod5614
    @yashrathod5614 ปีที่แล้ว +1

    This tutorial is awesome I was successfully able to train the model. Also I would like to see a video on model selection too. Thank you so much for such an amazing work. ❤

  • @irinahetman
    @irinahetman ปีที่แล้ว +1

    Hi Piotr!
    Greetings from Middle Earth. Yes please, I would like to know more on different models selection depending on use case.

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Looks like we will do video about it within the next 2 weeks.

  • @liliyalopez8998
    @liliyalopez8998 ปีที่แล้ว +1

    Clear instructions and a very well-documented Google Colab notebook. Thank you!

    • @Roboflow
      @Roboflow  ปีที่แล้ว +1

      Thanks for watching 🙏🏻

    • @ParthPatel-vi5hi
      @ParthPatel-vi5hi 11 หลายเดือนก่อน

      @@Roboflow heyy, so while i execute trainer, my session is getting crashed automatically... any solutions for that

  • @fazlehasan9428
    @fazlehasan9428 ปีที่แล้ว +2

    Yes we want a video on model selection please make it

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Hi, it is Peter from the video. We discussed this idea yesterday. I don't want to promise anything but it looks like we will release this video in the next 2 weeks.

  • @bhooshandeshpande6982
    @bhooshandeshpande6982 ปีที่แล้ว +1

    Definitely need a video on model selection

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      hahaha working on it :D

  • @irfankobber7097
    @irfankobber7097 ปีที่แล้ว

    You should make a video on training the model. The entire process till it achieves good result

  • @vivaliberte
    @vivaliberte ปีที่แล้ว

    Thanks Peter. I just start to try it on my dataset.

  • @crusaix
    @crusaix ปีที่แล้ว +1

    super good video! very interested in the model selections

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Awesome! Thanks a lot!

  • @marilynlucas5128
    @marilynlucas5128 ปีที่แล้ว +1

    Amazing channel. I am enjoying your work a lot. Keep it up

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Thanks a loooot!

  • @petrykpyatochkin6050
    @petrykpyatochkin6050 ปีที่แล้ว +1

    thank you for the video. Would be very interesting in model selection video. Thank you!

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Awesome! I see a lot of positive feedback for that idea.

  • @РуботРубот
    @РуботРубот ปีที่แล้ว +1

    Thanks a lot for the great work. May I ask for a video tutorial on how to port the YOLOv8 Python app to the Android platform, with people recognition through the phone's camera?

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      If you can, please add this to the list of ideas submitted by the community: github.com/roboflow/notebooks/discussions/categories/video-ideas

  • @sulaimanmahmoud7120
    @sulaimanmahmoud7120 ปีที่แล้ว +1

    As usual 🎉🎉 Hero

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Thanks a lot! 🙏

  • @cutepuppies6483
    @cutepuppies6483 ปีที่แล้ว +1

    Please post the second part❤❤

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Hi, it is Peter from the video! 👋 I hope I will be able to give you this video.

  • @danielarmandovidalsoroa7787
    @danielarmandovidalsoroa7787 5 หลายเดือนก่อน +2

    For some reason, this instruction does not work anymore:
    result = list(model.predict(image, conf=0.35))[0]
    ----> 4 result = list(model.predict(image, conf=0.35))[0]
    TypeError: 'ImageDetectionPrediction' object is not iterable
    I did this instead and it worked
    result = model.predict(image, conf=0.35)
    Perhaps the output format from the model has changed during these 11 months, idk. I'm just leaving this here in case others find the same problem

    • @danielarmandovidalsoroa7787
      @danielarmandovidalsoroa7787 5 หลายเดือนก่อน +2

      Apparently the sv.Detections class has also changed over these months so this instruction does not work anymore:
      labels = [
      f"{result.class_names[class_id]} {confidence:0.2f}"
      for _, _, confidence, class_id, _
      in detections
      ]
      ValueError: too many values to unpack (expected 5)
      Instead, you have to unpack six values 👍:
      labels = [
      f"{result.class_names[class_id]} {confidence:0.2f}"
      for _, _, confidence, class_id, _, _
      in detections
      ]

    • @grecielcasi9200
      @grecielcasi9200 4 หลายเดือนก่อน

      @@danielarmandovidalsoroa7787 thank you so much for providing that information!

  • @FahadRamzan-ri4cr
    @FahadRamzan-ri4cr 11 หลายเดือนก่อน +1

    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    super-gradients 3.3.0+master requires pyparsing==2.4.5, but you have pyparsing 2.4.7 which is incompatible.

  • @cutepuppies6483
    @cutepuppies6483 ปีที่แล้ว +1

    And one video about comparison between yoloV8 and Yolo-NAS based on Accuracy

    • @Roboflow
      @Roboflow  ปีที่แล้ว +1

      We were thinking about doing a video like that. I'm actually curious how many people would be interested.

  • @DigiDriftZone
    @DigiDriftZone ปีที่แล้ว

    If you want to detect objects like small pieces of trash/garbage, wound out use a pre-trained model or start from scratch? What are some examples for starting from scratch and using pre-trained? - with your football players, if you don’t want to detect anything else like what’s in the coco set, why use pre-trained model?
    Maybe you can cover it in your upcoming model selection video 😅

    • @st43r62
      @st43r62 ปีที่แล้ว

      do you know how to detect with pre-trained model but with excluded classes so not all classes will be detected?

  • @shubhamkapadia6337
    @shubhamkapadia6337 ปีที่แล้ว +1

    Is there any activation function used in YOLO NAS. If yes, which one and where can I find that information?

  • @Sandykrang
    @Sandykrang ปีที่แล้ว +1

    Hey, great explanation. Is there we have to annotate the testing dada too?

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Could you elaborate on the question?

    • @Sandykrang
      @Sandykrang ปีที่แล้ว

      @@Roboflow hey thanks for the reply,
      I am just confused about that, we are here annotating the test data labels too.
      Then feeding to the model, then where is the learning of the model?
      How will it make predictions like yolov8?

  • @albertofernandez055
    @albertofernandez055 ปีที่แล้ว +1

    Hi Piotr, very good video. I like also your supervision package and all the notebooks you have been publishing in roboflow.
    Just one quick question: I have trained YOLO NAS (small version) with a custom dataset. I have seen that inference (CPU) is quite slow. I mean, compared to YOLO V5 or 8 it is much slower. Have you also noticed this? Many thanks!

    • @Roboflow
      @Roboflow  ปีที่แล้ว +1

      I noticed that too. But I have not investigated that issue :/ I accidentally stumbled on that issue when I loaded the model on the CPU and not on GPU. Did you try the quantized version too?

  • @SUMANPAHARI-l6o
    @SUMANPAHARI-l6o ปีที่แล้ว +1

    Thank You for awesome video, can we use any other pretrained model instead of coco? If any documentation are there please provide me.
    Thank you so much

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      To the best of my knowledge, no.

  • @benlerer87
    @benlerer87 ปีที่แล้ว +1

    I would like you to compare it to yolov5/v8 (better to test it on small objects). ty

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Hopefully, we will be able to do in one of the upcoming TH-cam videos

  • @alexpandian7402
    @alexpandian7402 ปีที่แล้ว +1

    pls make video on model selection

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Looks like we will make one within the next 2 weeks. Stay tuned!

  • @陽明交大-高明秀
    @陽明交大-高明秀 ปีที่แล้ว

    Great! How to resume to training process if it pauses.

  • @sarahhesham6309
    @sarahhesham6309 ปีที่แล้ว +1

    Also, my dataset images are of size not equal to 640x640 , where can I apply this in the coding?

  • @fintech1378
    @fintech1378 7 หลายเดือนก่อน

    can you cover Llava on video streaming

  • @AJINKYALADHE-x4e
    @AJINKYALADHE-x4e 7 หลายเดือนก่อน

    I don't know if u'll see the comment or not 😅, but can we use yolo nas on android for object detection. If yes, pls can you make a video on this?

  • @TanishMavi-s9b
    @TanishMavi-s9b ปีที่แล้ว +1

    hey bro can we do semantic segmentation using the new YOLO NAS model

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Nope. It only gives you object detection. At least for now.

  • @michaelscheinfeild9768
    @michaelscheinfeild9768 ปีที่แล้ว

    can you explain how to train on my dataset , how to organize images and ground truth. also how i add different augmentations.

  • @user-qr3yi8xx5m
    @user-qr3yi8xx5m 6 หลายเดือนก่อน

    is there any need to define TensorBoard ? or it's automatically connected when model is finished ?

  • @mikeazatov1537
    @mikeazatov1537 ปีที่แล้ว +1

    Thanks for the tutorial! Is there a way to change the input dimensions? The default is (640,640) and I wanted to try out the larger size.

    • @varunlw
      @varunlw 11 หลายเดือนก่อน

      I think u can directly pass it directly and YoloNAS will update its parameter accordingly. I am using 480*640 image size and it working great !

  • @raffelravionaldo463
    @raffelravionaldo463 ปีที่แล้ว

    may i know how to prepare the data before do training with my own images?

  • @judeloza1554
    @judeloza1554 2 หลายเดือนก่อน +1

    For those of you having issues with the Visualize Inference Result section of the Colab below I have an updated version that should extinguish any errors.
    import supervision as sv
    import numpy as np
    import cv2
    import matplotlib.pyplot as plt
    # Assuming result.prediction contains the predictions and result.class_names contains the class names
    detections = sv.Detections(
    xyxy=result.prediction.bboxes_xyxy,
    confidence=result.prediction.confidence,
    class_id=result.prediction.labels.astype(int)
    )
    # Create BoxAnnotator object
    box_annotator = sv.BoxAnnotator()
    # Annotate the image
    annotated_frame = box_annotator.annotate(
    scene=image.copy(),
    detections=detections
    )
    # Generate labels
    labels = [
    f"{result.class_names[class_id]} {confidence:0.2f}"
    for confidence, class_id in zip(result.prediction.confidence, result.prediction.labels.astype(int))
    ]
    # Add labels to the annotated frame
    for (bbox, label) in zip(result.prediction.bboxes_xyxy, labels):
    x_min, y_min, x_max, y_max = bbox
    cv2.putText(
    annotated_frame,
    label,
    (int(x_min), int(y_min) - 10),
    cv2.FONT_HERSHEY_SIMPLEX,
    0.9,
    (255, 255, 255),
    2
    )
    # Convert the image from BGR to RGB
    annotated_frame_rgb = cv2.cvtColor(annotated_frame, cv2.COLOR_BGR2RGB)
    # Display the annotated image
    %matplotlib inline
    plt.figure(figsize=(12, 12))
    plt.imshow(annotated_frame_rgb)
    plt.axis('off')
    plt.show()

  • @helloansuman
    @helloansuman ปีที่แล้ว

    How to train this on 8 GPUs on DGX A100?

  • @greyyshellirl
    @greyyshellirl 4 หลายเดือนก่อน

    Does this work in detecting real time with camera? And If i can ask, how to?

  • @kachaicheung9073
    @kachaicheung9073 7 หลายเดือนก่อน

    Now the model can't train the model, is the recent update problems?

  • @sarahhesham6309
    @sarahhesham6309 ปีที่แล้ว

    What extension can my custom dataset have? I saw you using yolov5 as extension, is yolov8 also valid??

  • @victorarayal
    @victorarayal ปีที่แล้ว

    Is it possible to connect archives in my local Notebook to googoe colab? Or you just have all in Google drive?

  • @mxmolina
    @mxmolina ปีที่แล้ว

    It's there a way we can create a real example from this? I have a football 360 video from my son playing 9v9. The idea would be to keep the focus on the ball/play using Yolo Nas. It's that even
    possible?

  • @hendihart5195
    @hendihart5195 ปีที่แล้ว

    cant open the link anymore

  • @NeuralNetwork-go5zn
    @NeuralNetwork-go5zn ปีที่แล้ว +1

    hello, really nice tutorial!
    I created a custom yolo detection with yolov8m as a base, but when I run it, as soon as the speed of the objects increases, the algorithm loses track of me and starts to "jerk" the video output. Does anyone have an idea how to fix this?
    (yolov8m algorithm trained on 300 custom images)
    Thanks so much to anyone who can help me!!

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      Someone today reported a similar problem in the discussions tab on GitHub. Was it you?

    • @NeuralNetwork-go5zn
      @NeuralNetwork-go5zn ปีที่แล้ว +1

      @@Roboflow yes, sorry

    • @Roboflow
      @Roboflow  ปีที่แล้ว

      @@NeuralNetwork-go5zn I'll make sure to respond on GH as soon as possible.

    • @NeuralNetwork-go5zn
      @NeuralNetwork-go5zn ปีที่แล้ว

      @@Roboflow thank yuo!

  • @ItayHilel
    @ItayHilel ปีที่แล้ว +1

    part 2

  • @AIMLdeveloper-t6v
    @AIMLdeveloper-t6v 7 หลายเดือนก่อน

    where is pt file downoad

  • @techwithdk6048
    @techwithdk6048 ปีที่แล้ว

    Im getting below error
    AttributeError: 'Trainer' object has no attribute 'train_loader'
    in below code
    trainer.train(model=model,
    training_params=train_params,
    train_loader=train_data,
    valid_loader=val_data)
    any reason

    • @youssefkhaled5331
      @youssefkhaled5331 ปีที่แล้ว

      there is a line code in the middel of the notebook import trainer I think that u miss tht

  • @AIMLdeveloper-t6v
    @AIMLdeveloper-t6v 7 หลายเดือนก่อน

    pt file ?

    • @Roboflow
      @Roboflow  7 หลายเดือนก่อน

      Could you be a bit more specific?

  • @varunlw
    @varunlw ปีที่แล้ว +2

    Getting below error at the time of installation.
    Installing build dependencies ... done
    Getting requirements to build wheel ... done
    Preparing metadata (pyproject.toml) ... done
    error: subprocess-exited-with-error
    × Building wheel for pycocotools (pyproject.toml) did not run successfully.
    │ exit code: 1
    ╰─> See above for output.
    note: This error originates from a subprocess, and is likely not a problem with pip.
    Building wheel for pycocotools (pyproject.toml) ... error
    ERROR: Failed building wheel for pycocotools
    ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects

    • @jeanpierre4847
      @jeanpierre4847 ปีที่แล้ว

      Any solution for this?

    • @varunlw
      @varunlw 11 หลายเดือนก่อน +1

      install using below command, in same order
      !pip install -q roboflow
      !pip install -q supervision
      !pip install -q super-gradients@@jeanpierre4847

  • @mautushidas8368
    @mautushidas8368 ปีที่แล้ว +1

    ds = sv.Dataset.from_yolo(
    images_directory_path=f"{dataset.location}/test/images",
    annotations_directory_path=f"{dataset.location}/test/labels",
    data_yaml_path=f"{dataset.location}/data.yaml",
    force_masks=False
    ) This one is not working

    • @tomii5644
      @tomii5644 7 หลายเดือนก่อน

      ds =sv.DetectionsDataset.from_yolo(

  • @st43r62
    @st43r62 ปีที่แล้ว

    Hey Piotr, could you please me?
    i want to try make object detection on pretrained YoloNasL model but i need to exclude some classes for example class person
    ///
    model = models.get(MODEL_ARCH, pretrained_weights="coco").to(DEVICE)
    image = cv2.imread(SOURCE_IMAGE_PATH)
    result = list(model.predict(image, conf=0.35))[0]
    ///
    how can i set some properties of model like class_names at give array with class names to that property?
    i checked all properties but didnt find out where or how i can exclude some yolo classes
    i would be extremely grateful if you try to help
    thanks in advance!!