Deep Learning with Python, TensorFlow, and Keras tutorial

Поделиться
HTML-код
  • Опубликовано: 2 янв 2025

Комментарии • 1,4 тыс.

  • @sentdex
    @sentdex  6 лет назад +832

    After re-watching, I notice I never explained "epoch." Epoch is just a "full pass" through your entire training dataset. So if you just train on 1 epoch, then the neural network saw each unique sample once. 3 epochs means it passed over your data set 3 times.

    • @Yeezybreezzy
      @Yeezybreezzy 6 лет назад +41

      Epoch is just a fancy way to say iteration. Generally speaking, iteration/epoch is used in optimization where weights are updated after each time step. Usually best to learn gradient decent prior to deep learning.

    • @windmill1965
      @windmill1965 6 лет назад +5

      At 4:44 you would want to write " > 3".

    • @AladdinPersson
      @AladdinPersson 6 лет назад +33

      I like you Sentdex, but there was more than just the word epoch that you didn't explain. For example, what is x_test, y_test and why do we have something different in x_train and y_train? What does flatten mean? What is an optimizer, what does it do? To me there are also several other things left unexplained and sort of swept under the rug.
      I believe you have the best of intentions and you do help a lot of people in becoming better programmers in several different ways. I just think that you have two options by making these kinds of videos, and the first is that you go through things so that people not just vaguely understand things but actually master them and really understand them.
      The second option I believe is that you say that I'm going to assume you know the basics of neural networks: and if you don't, go check Andrew Ng out and then come back to my videos.

    • @shubhamkadam7956
      @shubhamkadam7956 6 лет назад

      I want all the videoes how can I get all of these videos

    • @aloufin
      @aloufin 6 лет назад

      I hope in a near future tutorial you add in tensorboard howto, specifically showing images with a slider!

  • @wolverine87833
    @wolverine87833 3 года назад +62

    This guy is really authentic and legit. Doesn't beat around the bush, no cringy intro music, just straight to the point. Best Intro of Deep Learning I have watched so far!

  • @behshadmohebali6234
    @behshadmohebali6234 5 лет назад +27

    This is exactly what I needed as the first clip on TensorFlow and deep learning. Consider this comment as a warm "thank you" and a remote (but firm) hand shake!

  • @MrDots99
    @MrDots99 5 лет назад +973

    "ok first we need to install tensorflow "
    5 hours later i returned to the video haha

    • @yelmak
      @yelmak 5 лет назад +106

      wait, it only took you 5 hours to get tensorflow installed?

    • @samforsberg5698
      @samforsberg5698 5 лет назад +19

      how did u install it

    • @yelmak
      @yelmak 5 лет назад +47

      @@samforsberg5698 gave up with pip and installed it with anaconda

    • @benjaminfindon5028
      @benjaminfindon5028 5 лет назад +27

      @@yelmak only 5? bruh that shit took me 24. And I ended up using the same solution i had at the start, with out realizing that was the installation "facepalm"

    • @FreakyStyleytobby
      @FreakyStyleytobby 5 лет назад +15

      What kind of problems did you guys have? For me it was quicker, i had the wrong python interpreter (32 instead of 64)

  • @omkarjagtap2351
    @omkarjagtap2351 6 лет назад +174

    Installs keras, predicts mnist data, feels like GOD

  • @anishkelkar6434
    @anishkelkar6434 5 лет назад +8

    This tutorial gave a hands on approach to machine learning unlike most of the other tutorials. Thank you very much.

  • @AnnnEXE
    @AnnnEXE 3 года назад +48

    I learned more from this video than I did in an entire deep learning course I took last academic quarter. Huge thanks, my dude :^) this is going to help a ton for my thesis work!

    • @gil-evens
      @gil-evens 2 года назад

      What are you majoring in?

    • @AnnnEXE
      @AnnnEXE 2 года назад +1

      @@gil-evens Computer engineering!

    • @gil-evens
      @gil-evens 2 года назад

      @@AnnnEXE nice, what's your thesis about?

    • @AnnnEXE
      @AnnnEXE 2 года назад +2

      @@gil-evens quantum error correction! It was really really fun :)

  • @prateeknayak5699
    @prateeknayak5699 6 лет назад +16

    Just a brilliant beginning. Finally the RUclips notification led to something amazing

  • @abhijeetsharma5533
    @abhijeetsharma5533 5 лет назад +34

    In later versions of tensorflow, you need to specify input shape of flatten layer if you are reusing the saved model.
    model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))
    instead of
    model.add(tf.keras.layers.Flatten())

    • @omingole7304
      @omingole7304 2 года назад

      Yes, thanks

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

      24th November, 2024
      import tensorflow as tf
      from keras import activations
      model = tf.keras.models.Sequential()
      model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))
      model.add(tf.keras.layers.Dense(128, activation=activations.relu))
      model.add(tf.keras.layers.Dense(128, activation=activations.relu))
      model.add(tf.keras.layers.Dense(10, activation=activations.softmax))

  • @altenwerthriqalexbal7577
    @altenwerthriqalexbal7577 4 года назад +3

    Getting the error: "I'm too stupid and this seems way beyond my level of understanding".
    Amazing ... waited a long time for this !!

    • @anirbanghosh6328
      @anirbanghosh6328 4 года назад

      hey bro im getting ERROR:root:Internal Python error in the inspect module.
      Below is the traceback from this internal error.

  • @JamalAbo
    @JamalAbo 5 лет назад +350

    17:50 Actually,
    predictions = new_model.predict([x_test])
    broke the program,
    then I changed it to
    predictions = new_model.predict(x_test)
    And it worked Fine :)

  • @roar779
    @roar779 6 лет назад +312

    11:17 *casually drinks from a shark!*

    • @liam1558
      @liam1558 4 года назад +1

      @@alamimouad mack the knife? :)

  • @bricktheworld7240
    @bricktheworld7240 6 лет назад +5

    Thank god, I was following the old tutorials and these are so much easier.

    • @sentdex
      @sentdex  6 лет назад +1

      Glad to hear these are easier to follow!

  • @abdulwahab182
    @abdulwahab182 2 года назад

    I have listened the entire lecture while driving
    The way coding part was done by reading it loud while typing was superb !
    I had the whole picture even without looking at the screen.
    Bundle of thanks

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

    For people getting error while loading the saved model, use the activation functions of keras, not of tensorflow and specify input_shape of the first layer. Following are the code changes -
    from keras import activations
    model = tf.keras.models.Sequential()
    model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
    model.add(tf.keras.layers.Dense(128, activation=activations.relu))
    model.add(tf.keras.layers.Dense(128, activation=activations.relu))
    model.add(tf.keras.layers.Dense(10, activation=activations.softmax))

  • @christopherhall1216
    @christopherhall1216 2 года назад

    Nice vid. So many videos ramble on side thoughts and spend 20 minutes explaining their hypothetical use case. This dives directly into it. Thank you!!!!

  • @ethanray19
    @ethanray19 6 лет назад +6

    Thank you sooooo much Sentdex. I'm doing my thesis and I needed to learn how tensorflow works. Awesome tutorials here

    • @sentdex
      @sentdex  6 лет назад

      Awesome, best wishes to you on your thesis!

  • @georgeseese
    @georgeseese Год назад +1

    Thanks. When you run model.fit, @15:16 it shows 60000/60000. With current version (2.15.0) that displays the batch quantity. In my case, it shows 1875/1875, since the default batch size of 32 is used, 32 x 1875 = 60000. I assume when you ran this, the number referred to the quantity of items in the dataset.

  • @juhotuho10
    @juhotuho10 6 лет назад +3

    now this is the reason i subbed, have been learning python for the last month and can't wait to get deeper into deep learning

  • @guitarmaniac091
    @guitarmaniac091 6 лет назад

    Man, I could kiss you. I've spent the better part of a week trying to find an up to date tutorial on keras where the person actually types the code out and explains what it does as he does, and this is exactly what I've been looking for. Very helpful!!

  • @petr.g
    @petr.g 6 лет назад +400

    I have one question. Why is his profile picture more pixelated every time?

    • @sentdex
      @sentdex  6 лет назад +332

      I'm pretty confident you're the first person on youtube to mention it. I've been slowly changing it :D

    • @petr.g
      @petr.g 6 лет назад +32

      i thought it is becouse of my slow internet :D, nice vid really appreciate you doin' those tutorials. And i really like your cups.

    • @petr.g
      @petr.g 6 лет назад +38

      I just thaught it is funny little easter egg...

    • @petr.g
      @petr.g 6 лет назад +2

      Good for you ;)

    • @herbz1037
      @herbz1037 6 лет назад

      yes.

  • @abdulqayyumahmadzai8275
    @abdulqayyumahmadzai8275 6 лет назад

    I have been following your videos from almost 18 months and its been amazing your tutorials have helped me alot. Thank you for these tutorials.

  • @labreynth
    @labreynth Год назад +38

    Why do I have to keep coming on youtube to simply learn something (for free) that I came to university for?

    • @Jitesh-ek5xf
      @Jitesh-ek5xf 7 месяцев назад +2

      Degree

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

      @@Jitesh-ek5xf Hardly worth anything these days

    • @Jitesh-ek5xf
      @Jitesh-ek5xf 7 месяцев назад

      @@labreynth hmmm I guess so

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

      Maybe because they don't explain it well or elaborate more on it? Since that's the case for me, they only teach us the math but not the actual code

    • @kazuha-kazi
      @kazuha-kazi 2 месяца назад

      I think it is the curriculum and the Degree

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

    i know im a bit late but @sentdex you are a legend my guy, i got the e-book of nnfs and this video series also makes it even easier to make neural networks, no intro music that blasts your ears, straight to the point, thank you!

  • @cyrusparvereshi6454
    @cyrusparvereshi6454 6 лет назад +19

    Hey Harrison, I just wanted to thank you for making these amazing tutorials! I finished your beginner tutorial, and while it went pretty deep into some things, I have a great toolkit that I can use to explore web development, data analysis, and cyber security! I love programming and your videos are some of the most helpful resources that I have been privileged to discover. I promise I will take this knowledge and apply it to something that will change the world! :D

  • @vaibhavpoliwal2820
    @vaibhavpoliwal2820 3 года назад

    I am totally beginner to deep learning, and really this is best explanation for making your first neural network model with TensorFlow, thank you very much for your great explanation.

  • @Rushirajloke
    @Rushirajloke 6 лет назад +29

    Finally what I have been waiting for..

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

    The best intro by far. Thanks mate.

  • @Yeezybreezzy
    @Yeezybreezzy 6 лет назад +2

    This was excellent. I’m a novice in ml and this is easy to follow and understand. Please do more. I’ve gotten lost in other people’s tutorials and videos that I just lose motivation and interest because they don’t simplify concepts like you do. Keep it up! Also appreciate the use of iPython nb.

    • @sentdex
      @sentdex  6 лет назад +1

      I will do my best to keep going in this style!

  • @comandernehal8567
    @comandernehal8567 4 года назад +1

    I just finished all 43 tutorials of your "Machine Learning with Python" series, when it came to Tensorflow, I thought need to watch another tensorflow2 series just to continue that series tutorials. But luckily you saved the day. I really love your tutorials, learning from the scatch. Love you man, have a blast.......😍😍😍

    • @shauryavardhan7225
      @shauryavardhan7225 4 года назад

      Hey Man , do we need to watch the old tensorflow series , or should this be enough ?
      just asking coz the older series had 30 videos and this one has 11..
      any significant thing I will be missing out on if I skip the older series?

    • @comandernehal8567
      @comandernehal8567 4 года назад

      @@shauryavardhan7225
      The previous tutorials series has musch deeper explanation of how tensorflow works & can be implemented in Machine learning, its very easier to understand for a true beginner
      but tensorflow 2.0 is musch easier to implement, so why learn 1.0, right!
      so currently i am learning only the basics syntex of 2.0 from other youtube tutorilals, then i will move back to the previous "Machine Learning" to implement tensorflow.
      Honestly i watched only 5 of this series & it feels kindda hard to catch up , means not so details here.
      But you can give this series a try & see how it works for you.

  • @souravgames
    @souravgames 6 лет назад +3

    thank you for revisiting the basics . i just hope its a long comprehensive series

  • @JustCallMeRob
    @JustCallMeRob 6 лет назад +1

    I am so happy you are doing an update on this topic right after i finished your main machine learning playlist. Your videos have been very helpful, thank you so much for your work !

  • @rishisharma5249
    @rishisharma5249 6 лет назад +8

    I had searched so much for this type of video!!!
    Ufffffff!, Finally got it thanks you very much for this and eagerly waiting for next videos too 😊

  • @taijosephinedanielle2962
    @taijosephinedanielle2962 3 года назад

    The fact that he Explained reasons behind every step is the most pleasing. Now I have a good understand of how Neural Network works. Thanks a lot sir.
    I subscribed to your channel already
    Keep the good job sir

  • @WorldBluegrassDay
    @WorldBluegrassDay 6 лет назад +58

    Anyone experiencing this error: "ValueError: You are trying to load a weight file containing 3 layers into a model with 0 layers. ". Change this line:
    model.add(tf.keras.layers.Flatten())
    to:
    model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))
    Should resolve the problem.

    • @alejandrorosales3057
      @alejandrorosales3057 6 лет назад

      how does this work? and thank you

    • @coryrandolph8501
      @coryrandolph8501 6 лет назад +12

      You need to add the input_shape:
      model.add(tf.keras.layers.Flatten(input_shape=x_train.shape[1:]))

    • @ankurchauhan9631
      @ankurchauhan9631 6 лет назад +1

      Thanks Dude

    • @The7HeavensRagnar
      @The7HeavensRagnar 6 лет назад +1

      Thanks, buddy, I was experiencing that error for quite a while

    • @JustThomas1
      @JustThomas1 5 лет назад +1

      I was on the right track with the error.
      Thanks for the help.

  • @darkhorse5848
    @darkhorse5848 9 месяцев назад

    hands down the best channel to learn deep learning from

  • @w1malik
    @w1malik 5 лет назад +4

    How can I decide to pass 128 units like you did in adding 128. You said this is number of neurons. How can I decide the number of neurons according to the data I have.

  • @leahg_
    @leahg_ Год назад

    Best tutorial I've seen yet, not once did I stop and think "what is he talking about?" lol, thank you!!

  • @ivangouvea4195
    @ivangouvea4195 6 лет назад +5

    Incredible tutorial, I am familiar with TF and Keras and this is super well explained. Covered everything a learner should know.
    Something cool for next one is AutoML or Autokeras

  • @bee00778
    @bee00778 2 года назад

    One of the best videos ever I watched for a begineer.

  • @johannesschmid9239
    @johannesschmid9239 6 лет назад +5

    GREAT JOB! You explained it very well, thanks a lot. Thats exactly what I searched for! However, I think for beginners you should also mention the parameter y and that it is the label of the respective x.

  • @Suigeneris44
    @Suigeneris44 5 лет назад

    Lovely lovely explaination! Lovely! What I have realized is: if you want to perfect python coding or any coding...you have got to practice!Practice!Practice!

  • @BIKRAMBASUMATARYGAU-C-
    @BIKRAMBASUMATARYGAU-C- 3 года назад +3

    1875 training set instead of 60000?

  • @Shaurya_Pant
    @Shaurya_Pant 6 лет назад +1

    This video is awesome! period. I've literally seen so many seminars and videos on RUclips... This is the first one that gave me all the comprehensive details, along while making the entire program... on the side ... Thanks.
    It really helped.

  • @masbro1901
    @masbro1901 5 лет назад +3

    8:07 NameError: name 'x_train' is not defined , what happen ? where's that image 7 i can get

  • @intersstella
    @intersstella 4 года назад

    Thanks for this video! It has stood the test of time, and was a great intro even two years after its first upload.

  • @Killercs14
    @Killercs14 6 лет назад +231

    Honestly, where do you learn all these stuff at such pace?
    You dont even have a cs major background. Not sure if this is impressive or a sign of my own unproductivity :(
    Regardless, I appreciate your existence

    • @SJ23982398
      @SJ23982398 6 лет назад +49

      It is always nice when people appreciate your existence.

    • @elirockenbeck6922
      @elirockenbeck6922 5 лет назад +5

      @@SJ23982398 speak for yourself

    • @jorostuff
      @jorostuff 5 лет назад +3

      It's called passion.

    • @onkulis5720
      @onkulis5720 4 года назад

      books

  • @AaSinSin137
    @AaSinSin137 6 лет назад

    if you're not a native english speaker and totally noob, try to watch at 0.75 speed.
    thank you so much for this tutorial. I have some idea for my thesis work, really hoping that this can work.

  • @lhorbrum1818
    @lhorbrum1818 6 лет назад +77

    Getting the error: "I'm too stupid and this seems way beyond my level of understanding".

    • @mapri50
      @mapri50 4 года назад +11

      Thats no wonder with your profile picture

    • @jensenraylight8011
      @jensenraylight8011 4 года назад +4

      *suddenly the model works:* maybe I'm a genius after all

    • @feraudyh
      @feraudyh 4 года назад +1

      I think this is not the right place to enter the subject, he already assumes a lot. This is a place to consolidate your knowledge by implementing a demo. Sorry I can't give you a pointer to an introductory reference, but there are dozens of those.

    • @AI_CANISTER
      @AI_CANISTER 4 года назад +2

      Don't worry... Use Google colab.... You don't need to install tensorflow just import it

    • @enderkulucka
      @enderkulucka 3 года назад

      I use kaggle. you don't need to install tensorflow.

  • @zozozozo4503
    @zozozozo4503 5 лет назад +2

    يسعد ربك من سورية عم بتابعك You are a good man I follow you from Syria

  • @Julian-ny5tt
    @Julian-ny5tt 6 лет назад +26

    I thought I am watching Edward Snowden teaching me how to code lmao.

  • @3nrasandun
    @3nrasandun 4 года назад +1

    Thanks bro.... This is the best ‘getting in to Tensorflow’ video I found

  • @gregfield4457
    @gregfield4457 5 лет назад +6

    I came across an issue when trying to print val_loss, val_acc it was complaining about the shape being 10000 and needed to be 60000 seems to work by normalising using x_train, x_test = x_train / 255.0, x_test / 255.0

    • @kIocuchl2
      @kIocuchl2 4 года назад

      Yeah, I had the same problem.
      You have to comment:
      #x_train = tf.keras.utils.normalize(x_train, axis=1)
      #x_test = tf.keras.utils.normalize(x_train, axis=1)
      and write
      x_train, x_test = x_train / 255.0, x_test / 255.0
      instead.
      Thanks man!

    • @issamjadar5415
      @issamjadar5415 4 года назад

      @@kIocuchl2
      x_train = tf.keras.utils.normalize(x_train, axis=1)
      x_test = tf.keras.utils.normalize(x_test, axis=1)

  • @chongchonghe3748
    @chongchonghe3748 5 лет назад

    Best TensorFlow hand-on introduction on RUclips. (This is actually the first video of this kind I watched, but I don't think I need to watch another one.) BTW, watching this after watching 3Blue1Brown's series video on Deep Learning is a joy.

  • @anjithnair3082
    @anjithnair3082 6 лет назад +8

    Please make a playlist for deep learning. From basics to advanced stuff. It will be super helpful.

  • @Pirateboi-vt5rp
    @Pirateboi-vt5rp 9 месяцев назад

    This is perfect. I started watching a tensor guide but its pretty out of date now that keras has been incorporated

  • @loisewanjiru9600
    @loisewanjiru9600 4 года назад +6

    hey, i need help . am experiencing this error when i try to train(fit) the model.
    ValueError: Data cardinality is ambiguous:
    x sizes: 60000
    y sizes: 10000
    Please provide data which shares the same first dimension.

    • @nickgerwe5302
      @nickgerwe5302 4 года назад +4

      I had this same issue, but then noticed a copy and paste error when normalizing data. Make sure your x_test is normalized using x_test rather than x_train. When I updated my code to as show below, it worked
      #normalize data
      x_train = tf.keras.utils.normalize(x_train,axis=1)
      x_test = tf.keras.utils.normalize(x_test,axis=1)

    • @prudhvikumar6293
      @prudhvikumar6293 4 года назад

      @@nickgerwe5302 ValueError: Shapes (32, 1) and (32, 10) are incompatible did you come across this error by any chance?

  • @sayonbhattacharya6092
    @sayonbhattacharya6092 6 лет назад

    Took a day to do this, but I thoroughly loved it. Thanks to his simple and interesting explanation.

  • @kwea123
    @kwea123 6 лет назад +28

    You shouldn't normalize the test data with respect to its own mean and std, as it is not supposed to be known in advance. The correct way to do is to normalize with the mean and the std of the training set.
    At 14:26 binary crossentropy is totally not what you explained in the video... it's not because there are two classes (cats or dogs) that you use "binary" crossentropy as it might sound. Binary crossentropy works no matter how many classes you have, and the difference between it and categorical crossentropy is that in the former case the classes are not mutually exclusive, e.g. there could be a dog and a cat in the image at the same time, and the output probabilities are independent for each class, so you can have .99 dog and .98 cat; In contrast, the latter, categorical crossentropy, means that the classes are mutually exclusive, e.g. there can be only one kind of animal in an image, so for example .79 dog and .21 cat.
    In mnist we use categorical crossentropy not because there are more than two classes but because there is only one kind of digit in one image.

    • @sentdex
      @sentdex  6 лет назад +5

      Hey thanks for the comments.
      With normalization, I've seen it done in quite a few ways. You're probably right that the most statistically sound method is to normalize with the same weights as the test set. I've found it to be fine if what you're predicting is large enough to normalize again, but this is just a toy problem, so just about whatever you do here will work.
      With binary cross entropy, I guess I am just going to have to disagree... It's definitely used when you have just two classes.

    • @kwea123
      @kwea123 6 лет назад +1

      For cross entropies, what documentation do you refer to?
      In tensorflow binary and categorical crossentropies are implemented with
      tf.nn.sigmoid_cross_entropy_with_logits and tf.nn.softmax_cross_entropy_with_logits, and these functions are called internally in keras as you can see in github.com/tensorflow/tensorflow/blob/r1.10/tensorflow/python/keras/backend.py
      I suggest that you refer to the official documentation of these two functions to understand what they actually mean.

    • @auseryt
      @auseryt 5 лет назад +1

      Actually this video is kind of bullshit. What i thought it wants to provide, some brief introduction to first steps in keras make only 1/10 of the vide without any significant explenation. But he explains other things that are actually wrong. This guy should first know about what he is talking before doing videos teaching others nonsense.

    • @Cloudsorrow256
      @Cloudsorrow256 5 лет назад

      @@auseryt Hey, so why don't you make your own videos and share your awesomeness with us?

    • @auseryt
      @auseryt 5 лет назад

      @@Cloudsorrow256 be thankful that someone tells you to not waste your time with this.

  • @piyushvermaiitkgp
    @piyushvermaiitkgp 2 года назад

    Thank you so much! Came here after going through all the theory/maths behind the NN, and strongly needed python syntax to execute it.

  • @Stinosko
    @Stinosko 6 лет назад +4

    I have a question and didn't really remember if you covered it, why do you use Jupyter to code in for this tutorial? Or did you explained in another video/written tutorial?

  • @homiehari
    @homiehari Год назад

    wow this was one of the first tutorials I ever used to build a neural network. crazy discovering this page again from your QLora video.

  • @bricktheworld7240
    @bricktheworld7240 6 лет назад +13

    Do you think you could do a tutorial on reinforcement learning?

    • @sentdex
      @sentdex  6 лет назад +12

      I would like to include that in this series for sure.

    • @KartikayBagla
      @KartikayBagla 6 лет назад

      sentdex please do it, I've kinda been stuck at making cartpole work properly.

    • @MegaTRIANGULUM
      @MegaTRIANGULUM 6 лет назад

      sentdex yeah! Deep Q would be great

    • @hm43-t8i
      @hm43-t8i 6 лет назад

      cool

  • @reyndbada8689
    @reyndbada8689 4 года назад

    Thanks sentdex, good start at least for me as a beginner. Only problem encountered was changing:
    predictions = new_model.predict([x_test]) to predictions = new_model.predict(x_test)
    as pointed out by Jamal Abo comment. Other then that it went smoothly.
    BTW, as a reference for anyone, i'm using Windows 10 with Anaconda Python 3.7 64-Bit installed and TensorFlow and was able to complete tutorial to the end .

  • @Salman-xz4km
    @Salman-xz4km 6 лет назад +15

    Please little Pytorch tutorials also .... cause its Lit and easy to follow and more pythonic

  • @jamesward7554
    @jamesward7554 6 лет назад +1

    This is absolutely amazing. Please continue this! Absolutely love your work

  • @FarGamingOfficial
    @FarGamingOfficial 5 лет назад +10

    *I gotta get that shark mug*

  • @sabrinalzahrani9710
    @sabrinalzahrani9710 6 лет назад +1

    You made it very simple for me, I was pretty lost before this video! Thank you man

  • @PandoraMakesGames
    @PandoraMakesGames 6 лет назад +8

    Another great tutorial! Inspires me to make my own AI videos.

  • @xinking2644
    @xinking2644 2 года назад

    I like this video, sentdex's explain is simple and easy to understand, and he is a passionate person!

  • @manishdhal1351
    @manishdhal1351 6 лет назад +5

    Amazing ... waited a long time for this !!

    • @sentdex
      @sentdex  6 лет назад +3

      No more waiting for you!

  • @xzelbambino
    @xzelbambino 6 лет назад

    I have a problem on 17:20 , I am using Py 2.7 on ubuntu 18, and the error is that i cannot to save model, the error say NotImpelementedError: Currently 'save' requires model to be a graph network. consider using 'save_weights', in order to save the weights of the model. What i can to do for solution the error it.

    • @tanzimreza6907
      @tanzimreza6907 6 лет назад

      'model.add(tf.keras.layers.Flatten()' replace this line with 'model.add(tf.keras.layers.Flatten(input_shape=x_train[0].shape))'
      You can thank me later

  • @anandchavali6299
    @anandchavali6299 6 лет назад +32

    You should make separate playlist/series for basic and advanced so we noobs can level in a more linear fashion. not a total beginner to advanced but like a more explaining on a whiteboard how things work series

    • @sentdex
      @sentdex  6 лет назад +2

      Compared to this video, you want more basic, more advanced, or similar?

    • @anandchavali6299
      @anandchavali6299 6 лет назад +2

      sentdex similar or advanced, I think we all love you because your videos are so deep and connecting they make difficult difficul'nt

    • @fxelix9951
      @fxelix9951 6 лет назад +2

      sentdex I really enjoy your videos, but since I haven't worked with tensorflow or similar this video threw many new functions and commands at me :D Could you maybe write some comments next to what you've done? It makes things easier to follow during and later on :) Additionally, any good updated resource to Keras/tensorflow you can recommend?

    • @Dockmark5
      @Dockmark5 6 лет назад +10

      sentdex I vote for more basic : )

    • @RedShipsofSpainAgain
      @RedShipsofSpainAgain 6 лет назад

      more advanced please

  • @soojinhung6627
    @soojinhung6627 3 года назад

    at @17:04, if val_loss and val_accuracy turned out to be much more different from what we got on x_train and y_train, what would you do to reduce overfitting? what kind of hyperparameters/steps would you tweak?

  • @vashistnarayansingh5995
    @vashistnarayansingh5995 6 лет назад +7

    I am getting error on executing the mode.save() line it is showing not implementation error I am using Google colaboratory to train the model

    • @TimvonHahn
      @TimvonHahn 6 лет назад

      It seems to be a bug... I'm had the same problem. See the github bug report here: github.com/tensorflow/tensorflow/issues/22837 I down-graded to TF 1.10 and it solved the problem.

    • @Crabbpower
      @Crabbpower 6 лет назад +8

      If you want to use the latest version you need to give the Flatten layer class the input variable input_shape like this: ` model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))`

    • @recepuludag6655
      @recepuludag6655 6 лет назад

      @@Crabbpower thanks a lot man, i was getting crazy
      does it matter if the parameter of input shape is more or less than the original pixel size. i think it matters do you know any way to overcome this

    • @Reventonn134
      @Reventonn134 6 лет назад

      @@Crabbpower love ya man, saved me the hassle

    • @Sam-jg5zv
      @Sam-jg5zv 6 лет назад

      Try import keras as keras instead of import tensorflow as tf.
      then, change all the code tf.keras to just keras.

  • @ashiralam1115
    @ashiralam1115 6 лет назад +2

    Eagerly waiting for the followup. This was very helpful

  • @shyampadia
    @shyampadia 6 лет назад +11

    Could you also talk a little about static vs dynamic graphs in tensorflow and pytorch in one of the future videos. It would be a huge help

    • @sentdex
      @sentdex  6 лет назад +1

      Thanks for the suggestion. I'll see about working that in somehow.

  • @fakhiraizzah1859
    @fakhiraizzah1859 2 года назад

    at 16:31,on why do i get error stating-
    " Data cardinality is ambiguous:
    x sizes: 60000
    y sizes: 10000
    Make sure all arrays contain the same number of samples."
    i followed exactly the same as the tutorial video. can someone help?

  • @theerawatramchuen9886
    @theerawatramchuen9886 6 лет назад +3

    I hv got an error " ValueError: The first layer in a Sequential model must get an `input_shape` argument. " on Jupyter notebook.
    My tensor flow is 1.5.0 Version GPU.
    Kindly advise solution.

    • @andrescuenca1122
      @andrescuenca1122 6 лет назад

      getting this same error, did you figure this out?

    • @MichaelGauciMT
      @MichaelGauciMT 6 лет назад +4

      Include an input_shape argument like this:
      model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))

    • @coryrandolph8501
      @coryrandolph8501 6 лет назад +1

      model.add(tf.keras.layers.Flatten(input_shape=x_train.shape[1:]))

  • @MrCreeper20k
    @MrCreeper20k 6 лет назад +2

    Thank you so much for this, I have started learning and done the “hello worlds” of keras and am really trying to get to some advanced stuff and hopefully eventually reinforcement learning

  • @eazye7059
    @eazye7059 5 лет назад +3

    i have this error in Jupyter notebook after installing and importing Tensorflow
    The kernel appears to have died. It will restart automatically.

    • @AbhishekMishraiitkgp
      @AbhishekMishraiitkgp 4 года назад

      I had the same problem. Try conda install nomkl . Install nomkl package in the same environment you are running your jupter notebook in.

  • @maclee2036
    @maclee2036 5 лет назад

    simply love your channel. you have explained this far better than my professor.

  • @DaStuntChannel
    @DaStuntChannel 5 лет назад +3

    How can you have 60000 samples as input and 10000 as target? I get
    "ValueError: Input arrays should have the same number of samples as target arrays. Found 60000 input samples and 10000 target samples."

    • @tingupingu3394
      @tingupingu3394 5 лет назад

      You found out how to get past the error?

    • @DaStuntChannel
      @DaStuntChannel 5 лет назад

      ​@@tingupingu3394 This code is very old, I recommend you to go somewhere else, don't remember the specific fix

    • @GeeVaaz
      @GeeVaaz 5 лет назад +1

      @@tingupingu3394 from another comment here:
      NonyaSerdo
      3 meses atrás
      I had the same problem. I accidentally forgot to change "x_train" to "x_test" in the second normalize statement. Correcting that gave me the expected results.

    • @RagnarLothbrok1337
      @RagnarLothbrok1337 4 года назад +1

      @@GeeVaaz Thank you. I wonder how this ever worked for him in the video.

  • @sbonelo
    @sbonelo 4 года назад

    by far the best intro to tensorflow

  • @thedosiusdreamtwister1546
    @thedosiusdreamtwister1546 6 лет назад +11

    AI: "When you smile, you go from a 6 to an 8!"
    Me: "You were trained on the mnist data set, weren't you?"
    (True story)

    • @anfechtung-143bgb4
      @anfechtung-143bgb4 4 года назад

      whats the mnist data set ?
      Do you mean 8! = 40320 or just 8

  • @elbrenantonio5256
    @elbrenantonio5256 5 лет назад +2

    model.save('epic_num_reader.model')
    new_model = tf.keras.models.load_model('epic_num_reader.model')
    this is my error:
    W0706 13:50:15.307831 3688 hdf5_format.py:263] Sequential models without an `input_shape` passed to the first layer cannot reload their optimizer state. As a result, your model isstarting with a freshly initialized optimizer.
    please help.

    • @anwayeerc
      @anwayeerc 5 лет назад

      Same here

    • @Spockleblupit
      @Spockleblupit 5 лет назад

      Try:
      model.add(tf.keras.layers.Flatten( input_shape=(28,28) ) )

  • @MrFuxya
    @MrFuxya 6 лет назад +5

    Yesssssss, I want moreee!!!

  • @patricktanta5363
    @patricktanta5363 5 лет назад

    When i used:
    val_loss, val_acc= model.evaluate(x_test,y_test)
    print(val_loss, val_acc)
    i obtained:
    Incompatible shapes: [32,28] vs. [32]
    [[{{node metrics_2/acc/Equal}} = Equal[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](metrics_2/acc/Max, metrics_2/acc/Cast)]]
    Great Video!

  • @X_platform
    @X_platform 6 лет назад +4

    Yes! Tensorboard please!

  • @ghfghf7
    @ghfghf7 5 лет назад

    after the battle of making the layers myself with your guide in the first tutorial set the ease of using keras is just unfair lol
    thanks for another great tutorial

  • @quanghuy8794
    @quanghuy8794 6 лет назад +14

    IDLE: mr.Harrison i don't feel so good..

  • @JasonWhittle1
    @JasonWhittle1 6 лет назад

    So glad you're updating this. Especially with a higher level package.

  • @twiddle7125
    @twiddle7125 3 года назад +7

    I know this is an old video and I know you're using the convention of X being input and Y being output, but I think it is important to really explain that since for this particular example your data is a plot of x and y points in a 28x28 grid. I was slightly confused for a while until I printed the y values to see that they were the outputs and not the y-coordinate data.

  • @farnazfarhand5957
    @farnazfarhand5957 3 года назад

    it was really clear and helpful honestly you save from confusion in this case

  • @ifeanyindukwe3086
    @ifeanyindukwe3086 6 лет назад +4

    Hey, I seem to get this error
    ValueError: You are trying to load a weight file containing 3 layers into a model with 0 layers.
    whenever I run the line of code below:
    new_model = tf.keras.models.load_model('epic_num_reader.model')
    Any hint of how to resolve this??

    • @ZahidulHossain
      @ZahidulHossain 6 лет назад +1

      Same here. Keras has an issue opened on github
      github.com/keras-team/keras/issues/9822

    • @alokrajgupta9452
      @alokrajgupta9452 6 лет назад +2

      You might use this for tf version 1.9.0
      model.add(tf.keras.layers.Flatten(input_shape=x_train.shape[1:]))

    • @kinlam6304
      @kinlam6304 6 лет назад

      change the first line in the model to this : model.add(tf.keras.layers.Flatten(input_shape=x_train[0].shape))

    • @vaibhavsingh1049
      @vaibhavsingh1049 6 лет назад

      Check this stackoverflow.com/questions/52664110/attributeerror-sequential-object-has-no-attribute-output-names/53980337#53980337
      As per the changing to "keras" from "tensorflow.keras", just remove the "tensorflow."part and rest is the same

  • @KennTollens
    @KennTollens 4 года назад

    11:44 you add 128 units in the dense layer. I am just barely learning neural networks. Why did you pick 128 units? Or more generally, what happens to the outcome if you pick more or less units? Also, Why do you have more than one layer? What is the effect of adding more and more layers? What does it actually do?

  • @SethuIyer95
    @SethuIyer95 6 лет назад +4

    Yoooooooo this is amazing

  • @navalsurange3588
    @navalsurange3588 4 года назад +1

    for those who are on an AMD GPU
    to install Tensorflow follow these steps:
    1) create a virtual environment with python 3.6
    2) pip install tensorflow-directml
    3) write code as:
    import tensorflow as tf
    DML_VISIBLE_DEVICES="0"
    #now your code here

  • @maghribioujdi
    @maghribioujdi 5 лет назад +3

    whenever i do the part of
    predictions = new_model.predict([x_test])
    i get the following error: 'list' object has no attribute 'shape'
    i'm following the exact same steps as you did and i was carefull with any typos

    • @SmartieEdits
      @SmartieEdits 5 лет назад +1

      what worked for me was removing the brackets around x_test:
      predictions = new_model.predict(x_test)

    • @wenyiyan2945
      @wenyiyan2945 5 лет назад

      Yea, it works after I removed [ ]. I am confused that Sentdex emphasizes that should put ([test]) not (test) in the video. No idea why his code doesn't work for my python environment....
      @@SmartieEdits

  • @simonmuoki5151
    @simonmuoki5151 2 года назад

    This has helped me understand how deep learning using neural networks works. How to use tensorflow, keras & python libraries on jupyter.