Deep Learning with Python, TensorFlow, and Keras tutorial

Поділитися
Вставка
  • Опубліковано 25 січ 2025

КОМЕНТАРІ • 1,4 тис.

  • @sentdex
    @sentdex  6 років тому +833

    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 роки тому +63

    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 років тому +28

    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!

  • @omkarjagtap2351
    @omkarjagtap2351 6 років тому +174

    Installs keras, predicts mnist data, feels like GOD

  • @MrDots99
    @MrDots99 5 років тому +974

    "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 років тому +46

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

    • @benjaminfindon5028
      @benjaminfindon5028 5 років тому +26

      @@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)

  • @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 :)

  • @anishkelkar6434
    @anishkelkar6434 5 років тому +8

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

  • @prateeknayak5699
    @prateeknayak5699 6 років тому +16

    Just a brilliant beginning. Finally the UA-cam 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 2 місяці тому +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.

  • @prabhdeepsingh8726
    @prabhdeepsingh8726 7 місяців тому +6

    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))

  • @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!

  • @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!

  • @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!!!!

  • @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!!

  • @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

  • @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

  • @labreynth
    @labreynth Рік тому +39

    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 8 місяців тому +2

      Degree

    • @labreynth
      @labreynth 8 місяців тому

      @@Jitesh-ek5xf Hardly worth anything these days

    • @Jitesh-ek5xf
      @Jitesh-ek5xf 8 місяців тому

      @@labreynth hmmm I guess so

    • @sharonv3597
      @sharonv3597 8 місяців тому

      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 3 місяці тому

      I think it is the curriculum and the Degree

  • @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 !

  • @JamalAbo
    @JamalAbo 5 років тому +349

    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 :)

  • @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.

  • @souravgames
    @souravgames 6 років тому +3

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

  • @leahg_
    @leahg_ Рік тому

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

  • @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.

  • @petr.g
    @petr.g 6 років тому +399

    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.

  • @Shaurya_Pant
    @Shaurya_Pant 6 років тому +1

    This video is awesome! period. I've literally seen so many seminars and videos on UA-cam... 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.

  • @roar779
    @roar779 6 років тому +312

    11:17 *casually drinks from a shark!*

    • @liam1558
      @liam1558 4 роки тому +1

      @@alamimouad mack the knife? :)

  • @simplynotig8702
    @simplynotig8702 5 місяців тому

    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!

  • @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 😊

  • @darkhorse5848
    @darkhorse5848 10 місяців тому

    hands down the best channel to learn deep learning from

  • @Rushirajloke
    @Rushirajloke 6 років тому +29

    Finally what I have been waiting for..

  • @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 6 років тому +1

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

  • @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.

  • @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)

  • @AyushmanAdhikary
    @AyushmanAdhikary 2 місяці тому +1

    The best intro by far. Thanks mate.

  • @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.

  • @bee00778
    @bee00778 2 роки тому

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

  • @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

  • @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.

  • @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.

  • @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!

  • @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

  • @jamesward7554
    @jamesward7554 6 років тому +1

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

  • @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?

  • @3nrasandun
    @3nrasandun 4 роки тому +1

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

  • @Julian-ny5tt
    @Julian-ny5tt 6 років тому +26

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

  • @chongchonghe3748
    @chongchonghe3748 5 років тому

    Best TensorFlow hand-on introduction on UA-cam. (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.

  • @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.

  • @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.

  • @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.

  • @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

  • @Pirateboi-vt5rp
    @Pirateboi-vt5rp 10 місяців тому

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

  • @BIKRAMBASUMATARYGAU-C-
    @BIKRAMBASUMATARYGAU-C- 3 роки тому +3

    1875 training set instead of 60000?

  • @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.

  • @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.

  • @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.

  • @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

  • @sabrinalzahrani9710
    @sabrinalzahrani9710 6 років тому +1

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

  • @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.

  • @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

  • @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.

  • @zozozozo4503
    @zozozozo4503 5 років тому +2

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

  • @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.

  • @sayonbhattacharya6092
    @sayonbhattacharya6092 6 років тому

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

  • @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:]))

  • @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 .

  • @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?

  • @JasonWhittle1
    @JasonWhittle1 6 років тому

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

  • @Salman-xz4km
    @Salman-xz4km 6 років тому +15

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

  • @maclee2036
    @maclee2036 5 років тому

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

  • @masbro1901
    @masbro1901 5 років тому +3

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

  • @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!

  • @ashiralam1115
    @ashiralam1115 6 років тому +2

    Eagerly waiting for the followup. This was very helpful

  • @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.

  • @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

  • @PandoraMakesGames
    @PandoraMakesGames 6 років тому +8

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

  • @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

  • @tm1813
    @tm1813 6 років тому +1

    hi Sentdex, I think I remember that I ever downloaded your Tensorflow videos, maybe in a year. However, I cannot find it now. To tell the truth, I did not understand enough for those old videos. However, these series for Keras are far more understandable. I really appreciate your contribution!

  • @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.

  • @simonmuoki5151
    @simonmuoki5151 2 роки тому

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

  • @FarGamingOfficial
    @FarGamingOfficial 5 років тому +10

    *I gotta get that shark mug*

  • @loicdumortier4634
    @loicdumortier4634 6 років тому +1

    I used to be jealous on your programming skills. Now I am jealous on your programming skills and shark cup :) Great video!

  • @quanghuy8794
    @quanghuy8794 6 років тому +13

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

  • @omarpasha2968
    @omarpasha2968 3 роки тому

    Very good! Finally, I got no errors in my Jupyter notebook after running the codes. It let's me know that I better subscribe to your videos!

  • @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

  • @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

  • @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

  • @sbonelo
    @sbonelo 4 роки тому

    by far the best intro to tensorflow

  • @fazilmes
    @fazilmes 6 років тому +2

    Getting error while loading model in Google Colaboratory. [AttributeError: 'list' object has no attribute 'shape']

    • @Adam_Nemcik
      @Adam_Nemcik 4 роки тому

      @Jostein Dyrseth Same issue here. In case i use just >>> predictions = new_model.predict(x_test);
      I receive : "IndexError: list index out of range"
      Any idea how to fix it ?

  • @farnazfarhand5957
    @farnazfarhand5957 3 роки тому

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

  • @X_platform
    @X_platform 6 років тому +4

    Yes! Tensorboard please!

  • @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!!!

  • @trueMSB
    @trueMSB 9 місяців тому

    just this video alone deserves a subscriber

  • @meda3li
    @meda3li 5 років тому +3

    91 dislike????? i'm wondering whyy ??? it's just perfect (for biginner)

    • @Doomer6969
      @Doomer6969 5 років тому

      he doesn't explain anything

    • @Aayushcv
      @Aayushcv 3 роки тому

      no. I am struggling with this..