Build Your First Pytorch Model In Minutes! [Tutorial + Code]

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • In this video we will learn through doing! Build your very first PyTorch model that can classify images of playing cards. #pytorch #deeplearning
    Related videos:
    Working With Image Data: • Image Processing with ...
    Cross Validation: • Image Processing with ...
    Kaggle Notebook: www.kaggle.com/code/robikscub...
    Timeline:
    00:00 Intro
    04:50 Pytorch Datasets
    13:59 Pytorch Model
    19:19 Pytorch Training
    29:23 Results
    Links to my stuff:
    * RUclips: youtube.com/@robmulla?sub_con...
    * Discord: / discord
    * Twitch: / robcodeslive
    * Twitter: / rob_mulla
    * Kaggle: www.kaggle.com/robikscube
  • НаукаНаука

Комментарии • 74

  • @khalilnaji36
    @khalilnaji36 3 месяца назад +9

    This man is single-handedly carrying the education side of RUclips for Data Science on his back

  • @henryalejandrosilva2003
    @henryalejandrosilva2003 6 месяцев назад +3

    Wow, Rob. What an amazing video, I'm currently learning Deep Learning from scratch and your video is great to understand how to cod these networks and how to apply all those concepts learned in other videos about how Neural networks work.
    I'll be waiting for the next video, hoping you enlighten me over how how to tune the network, maybe transfer learning with CNNs along with attention modules would be just awesome!

  • @hugoczerniawski166
    @hugoczerniawski166 7 месяцев назад +1

    Great vid Mr Mulla! I got confused at the last stage a bit but the confusion was mainly casued by my relativley small exprience with PyTorch. I will try to calclute the accurancy now! Thank you!

  • @vitorribeirosa
    @vitorribeirosa Месяц назад +1

    Thank you, Rob!!!
    I strongly appreciate your work. I have learned a lot from your videos.
    Cheers from Japan!!!

  • @VijayJaisankar
    @VijayJaisankar 7 месяцев назад +1

    Thanks for this video! Really nice to brush up on the basics :)

  • @chrisogonas
    @chrisogonas Месяц назад

    Well illustrated! Thanks Rob.

  • @manojsubramanyam
    @manojsubramanyam 5 месяцев назад +3

    Hey Rob.. thanks for the video. Well structured and well paced. Please do many end to ends like these.

  • @cosheimil
    @cosheimil 7 месяцев назад +1

    Thank you for this video! Its a lot of notebooks with torch and ur video helped me, thank you!

  • @johanongchangco8525
    @johanongchangco8525 7 месяцев назад +9

    Best video ever. I had my 14 year old watching with me and he understood it with very little commentary from me :)

  • @ramprasath6424
    @ramprasath6424 4 месяца назад +1

    really helpful vid
    looking out for more of similar

  • @VlivinG
    @VlivinG 6 месяцев назад +7

    I have a course at university and here I am learning things they should teach... your explanations are short and clear thanks! after my score submission, I will email your channel to my professor and his assistant as a clear example of what education is

    • @benbruce8086
      @benbruce8086 5 месяцев назад

      I don't do computer science or university or anything, but I think that you're are an example for other educators.

    • @mugdhoamin8033
      @mugdhoamin8033 5 месяцев назад +1

      😂😂
      In my case if I mail my teacher, I highly doubt he would open the mail let alone try to teach like this channel.

  • @jees__antony
    @jees__antony 3 месяца назад

    this is the best vdo I have seen on pytorch

  • @christiansnaturestudio6599
    @christiansnaturestudio6599 7 месяцев назад +1

    Im looking forward to add it to my project portfolio. Money money money 💰

  • @artyomkhrenn
    @artyomkhrenn 6 месяцев назад

    Thanks, Rob!

  • @kam3766
    @kam3766 7 месяцев назад

    Thank you Rob

  • @leminhdung1981
    @leminhdung1981 6 месяцев назад +1

    Thanks!

  • @Techonsapevole
    @Techonsapevole 7 месяцев назад

    Thanks, well done

  • @davoodastaraky7608
    @davoodastaraky7608 7 месяцев назад

    Thank you Rob :)

  • @manpham5635
    @manpham5635 7 месяцев назад

    This is incredible

  • @square007tube
    @square007tube Месяц назад

    Thanks for this video.

  • @user-zi2xu6mx8o
    @user-zi2xu6mx8o 3 месяца назад

    What a great video! You speaks so similar to Cal Newport

  • @andrelvcoelho
    @andrelvcoelho 7 месяцев назад +2

    Hi, Rob! Very nice video tutorials you have in your channel! I like them very much. Detailed and at the same time straight to the point. Just a small note: This line is mistaken in your script: test_loader = DataLoader(val_dataset, batch_size=32, shuffle=False). It should be "test_dataset," instead. Perhaps you should generate a new version on Kaggle. All the best!

  • @rayray9996
    @rayray9996 4 месяца назад +1

    I love the way you explain, but please post videos using R as well....how about time series forecasting with machine learning using R...

  • @delaramranjbarshargh9968
    @delaramranjbarshargh9968 2 месяца назад

    thank you. perfect.

  • @obayram4615
    @obayram4615 7 месяцев назад

    great thanksss🙂

  • @Levy957
    @Levy957 7 месяцев назад

    Amazing!!!!

  • @raven9965
    @raven9965 Месяц назад

    looking for advice, any resource or recommendations on haw to "grade" the performance of an ML besides error?

  • @nursemulla
    @nursemulla 7 месяцев назад

    I think Scarlett knows more about this than me. She started taking a coding class! : )

  • @EvanBurnetteMusic
    @EvanBurnetteMusic 7 месяцев назад +2

    Hey Rob thanks for this perfect intro to pytorch! I've been learning TFJS and this vertical slice really helped. I'm trying to run this on Kaggle and I'm running into this problem: LocalEntryNotFoundError: Connection error, and we cannot find the requested files in the disk cache. Please try again or make sure your Internet connection is on. This is my first time using Kaggle so I'm not sure what I'm doing wrong. No worries if you have no idea either just thought you should know!

    • @EvanBurnetteMusic
      @EvanBurnetteMusic 7 месяцев назад +5

      I just asked ChatGPT and it seems like you have to turn on internet on Kaggle instances under notebook options in the right sidebar!

  • @youaintd1
    @youaintd1 6 месяцев назад +1

    Great one! I'm on mac, so I replaced Cuda with Metal...
    device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")

  • @95Coaster
    @95Coaster 4 месяца назад

    I see what you did there with the joker cards in the test data set ;-)

  • @LittleTimmyJWC
    @LittleTimmyJWC Месяц назад +1

    What if we’re using multiple datasets? How would we change our code?

  • @CS_n00b
    @CS_n00b 7 месяцев назад

    very good

  • @muhammadfahad3577
    @muhammadfahad3577 Месяц назад +1

    at 18:17 mark, he uses images object as a param to run the model. Where is he getting this images object from?? I don't see it anywhere above except for when he runs that for loops and pull images from dataloader but that was inside the for loop so it cant be that.

  • @athleticsupramaxx9227
    @athleticsupramaxx9227 3 месяца назад

    at 22:10 you have "test_loader = DataLoader(val_dataset, batch_size=32, shuffle=False)" but it should be "test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)" right?

  • @Gunat737
    @Gunat737 7 месяцев назад

    Great

  • @chandramohan1281
    @chandramohan1281 5 месяцев назад

    Is it possible to create tflite model so that we can use that in an Android??

  • @ArunYadav-qq1cj
    @ArunYadav-qq1cj 7 месяцев назад +1

    Plz make a pytorch playlist for intermediate to advanced. It is nowhere on the internet.

  • @that_one_momo_guy
    @that_one_momo_guy 7 месяцев назад

    Hi Rob, thanks for the fantastic video! I was left with an outstanding doubt: I don't see how the Adam optimizer 'gets' the information from the loss and backward propagation steps. There is a loss object on which we do backward propagation and then, seemingly completely separately, we do an optimization step with Adam.
    But how does Adam know in which direction to move without having, say, a loss argument? Say, something like "loss.backward(); optimizer.step(loss)" would make sense in my head.

    • @felixmuller9062
      @felixmuller9062 7 месяцев назад

      In an earlier line we gave the Adam optimized the model.parameters(). When we do all our computations through our model and in the end through our loss these computations will be stored in an internal state of the model. When we then call loss.backward() all these steps our tensors took through the model (and the loss) are run in reverse order and the backwards calculated gradients are also stored in the internal state of our model. And now hence the Adam optimized has the connection to the model parameters and we stored the backwards calculated gradients in our hidden state in the model, it is enough to call optimizer.step() and let the Adam do his magic.
      I hope this helps.

    • @that_one_momo_guy
      @that_one_momo_guy 7 месяцев назад

      @@felixmuller9062 Wait that's the part that I don't get: the loss is computed based on the model predictions, but the loss object doesnt 'know' about the parameters right? Like, the model parameters are not an argument of the loss creator function

    • @felixmuller9062
      @felixmuller9062 7 месяцев назад

      No but the loss "measures" the deviation from the true classification. When you look in the formulas of the backpropagation algorithm you will see that the first derivative is the one regarding the loss function. From there on, following the chain rule, this flows in the different layers of the network and that's how the gradients for the weights can be calculated.
      Does this clarify a little more?

    • @that_one_momo_guy
      @that_one_momo_guy 7 месяцев назад

      @@felixmuller9062 Ah I see, thanks! so just to make sure I get it: 'loss' is given a reference to the parameters of the model, and this parameters object has a 'bin' for gradients, so loss.backward() populates this bin?
      I think I was thinking too functional---the key is that backward does have a side effect on an object outside of it's 'house'. (Like loss.backward() modifies not only the loss object but also the parameters object.)

    • @that_one_momo_guy
      @that_one_momo_guy 7 месяцев назад

      @@felixmuller9062 Wait nevermind, I'm confused again: the loss function does not get information about the model parameters or their location in memory. It just receives the predicted outputs and the correct labels. How does it know where to store the gradients computed?

  • @user-tk3hj1he8m
    @user-tk3hj1he8m 5 месяцев назад +1

    everything is good but there are sources for Image Classifier, Any chance you can make a video for object detection ? I couldt find any video or anything for that.

    • @robmulla
      @robmulla  5 месяцев назад

      Check ouit my videos on yolov5 and yolov7. They are all about object detection.

    • @user-tk3hj1he8m
      @user-tk3hj1he8m 4 месяца назад

      hi @@robmulla, I meant using torch. I couldnt find any source that implementing object detection model using pytorch, all the object detection videos made by prepared models such as yolov5, yolov8, ssd, vgg etc.

  • @hlolkukuku
    @hlolkukuku 3 месяца назад

    def calculate_accuracy(model, data_loader, device):
    model.eval()
    correct = 0
    total = 0
    with torch.no_grad():
    for images, labels in data_loader:
    images, labels = images.to(device), labels.to(device)
    outputs = model(images)
    _, predicted = torch.max(outputs.data, 1)
    total += labels.size(0)
    correct += (predicted == labels).sum().item()
    return 100 * correct / total
    # After training, calculate accuracy on the test set
    test_accuracy = calculate_accuracy(model, test_loader, device)
    print(f"Test Accuracy: {test_accuracy}%")
    the Test Accuracy is 93.20754... %
    Hope thats correct and helps!

  • @designavideo1821
    @designavideo1821 6 месяцев назад

    Peace be upon you, how are you, my friend? I am from Iraq and I am a final-year university student in the Computer Engineering Department. He has a graduation project called controlling traffic lights using artificial intelligence (Python). I hope you will make a video designing a project with a program about simulating traffic lights for real cars.❤

  • @bladerun31
    @bladerun31 6 месяцев назад +1

    Can run on AMD Radeon gpu no issue?

    • @robmulla
      @robmulla  6 месяцев назад

      Nvidia really is the only option.

  • @user-uj3lp3fx3r
    @user-uj3lp3fx3r 4 месяца назад +1

    I got the LocalEntryNotFoundError in
    model = SimpleCardClassifer(num_classes=53)
    print(str(model)[:500])

    • @user-uj3lp3fx3r
      @user-uj3lp3fx3r 4 месяца назад +1

      LocalEntryNotFoundError: Connection error, and we cannot find the requested files in the disk cache. Please try again or make sure your Internet connection is on.

  • @DalazG
    @DalazG 4 месяца назад

    I wonder how i could create this for forex trading. Wish there was some tutorial

  • @RobertHorvat93
    @RobertHorvat93 2 месяца назад

    Am i the only one who thought this was Tai Lopez ? :))

  • @aarondrossart6026
    @aarondrossart6026 6 дней назад

    Video is excellent. I'm just a coding idiot.

  • @amogu_07
    @amogu_07 5 месяцев назад +1

    model = SimpleCardClassifer(num_classes=53)
    print(str(model)[:500]) this is not running at all someone plz help

    • @marco8673
      @marco8673 23 дня назад

      i also have this problem, did you solved it?

    • @marco8673
      @marco8673 23 дня назад +1

      ok solved it, you just have to turn on the internet on the kaggle notebook

    • @amogu_07
      @amogu_07 21 день назад

      @@marco8673 tnx

  • @user-uj3lp3fx3r
    @user-uj3lp3fx3r 4 месяца назад

    make a depth images pytorch

  • @ericbroun4657
    @ericbroun4657 5 месяцев назад

    ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤

  • @963seeker
    @963seeker 7 месяцев назад

    Just a side note, the tqdm slows the processing speed. If you are using a PC equipped with the latest GPU(s) then thats fine, but if you are using a laptop you might want to exclude it from the code.

  • @2380raj
    @2380raj 3 месяца назад

    55 upvotes and 581copy and edits on your kaggel notebook.Hard world out there...😑

  • @Bababoboboa-gu3iu
    @Bababoboboa-gu3iu Месяц назад +1

    Good job just copy-pasting code snippets no beginner would ever understand. Yes, I can take your code and train a model now. But I don't understand half the things you did.

  • @umarsaid6340
    @umarsaid6340 5 месяцев назад +13

    When you say GPU, your picture is blocking it. Next time, it is better if you just hide your picture and let your voice do the explaining. No offense.

  • @aoa1015
    @aoa1015 5 месяцев назад

    Thanks!