Real-World Python Neural Nets Tutorial (Image Classification w/ CNN) | Tensorflow & Keras

In this video we walk through the process of training a convolutional neural net to classify images of rock, paper, & scissors. We do this using the Tensorflow & Keras libraries. This is a follow-up to the first video I posted on neural networks.
Introduction to Neural Nets: • Introduction to Neural...
Link to my code (github): github.com/KeithGalli/neural-...
Link to Google Colab file: colab.research.google.com/dri...
---------------------
Resources!
Learn more about CNNs
Good written overview: towardsdatascience.com/a-comp...
Good video overview (@CodeEmporium ): • Convolution Neural Net...
Illustrated Examples of CNNs: towardsdatascience.com/illust...
MNIST Example: keras.io/examples/mnist_cnn/
Learn more about TensorFlow datasets
www.tensorflow.org/datasets/o...
www.tensorflow.org/datasets/c...
Learn more about Kerastuner
Documentation: keras-team.github.io/keras-tu...
@sentdex : • Optimizing Neural Netw...
@krishnaik06 : • Tutorial 27- Create CN...
Practice your Python Pandas data science skills with problems on StrataScratch!
stratascratch.com/?via=keith
Join the Python Army to get access to perks!
KZread - / @keithgalli
Patreon - / keithgalli
---------------------
Video Timeline!
0:00 Video Overview
0:33 Getting Started (Setup & Installation)
2:24 Finding datasets to use
6:02 Data Preparation
10:26 Additional Data Prep (Convert data to NumPy format)
15:22 Reshape Data & Normalize values between 0-1
19:39 Train our first network to classify images
25:06 Convolutional Neural Net (CNN) approach
28:48 Using GPU on Google Colab (speed up training)
31:22 Improving our CNN (reduce image size, max pooling, dropout, etc)
40:18 Using Kerastuner to automatically pick best hyperparameters
52:50 Save & Load our models
54:16 Plot NumPy arrays as images
57:38 Convert JPG/PNG images to NumPy
1:00:20 Final thoughts
---------------------
Follow me on social media!
Instagram | / keithgalli
Twitter | / keithgalli
If you are curious to learn how I make my tutorials, check out this video: • How to Make a High Qua...
*I use affiliate links on the products that I recommend. I may earn a purchase commission or a referral bonus from the usage of these links.

Пікірлер: 111

  • @KeithGalli
    @KeithGalli4 жыл бұрын

    Hey all! Been a little while since I have posted, but trying to get back into the swing of things. Hope everyone is doing well. Based on a lot of feedback I have gotten, my current plan is to make a web scraping tutorial with beautiful soup next. Not quite sure what will come after that. Does anyone have any suggestions? Would love to hear them :).

  • @thebeston6710

    @thebeston6710

    4 жыл бұрын

    sup keith galli, i need help trying to fix a bug in this code. This is a game where there is a player and it has to dodge the enemies. But for some reason I still die if i haven't touced any of the enemies. How do you fix that bug? import turtle import random import time from random import randint wn = turtle.Screen() wn.bgcolor('black') wn.setup(600, 800) x = random.randint(-290, 290) y = random.randint(395, 500) x1 = -290 x2 = 290 y1 = 395 y2 = 1000 pm = 10 em = 5 ed = 44 s = 1 score = 0 p = turtle.Turtle() p.hideturtle() p.penup() p.speed(0) p.color('red') p.shape('circle') p.shapesize(stretch_wid = 2, stretch_len = 2) p.goto(0, -350) p.showturtle() enemy_colors = ['darkblue', 'cyan', 'green', 'yellow', 'purple', 'pink', 'brown', 'white', 'orange', 'lightgreen', 'blue'] random_color = random.choice(enemy_colors) e1 = turtle.Turtle() e1.hideturtle() e1.color(random_color) e1.penup() e1.speed(0) e1.shape('square') e1.shapesize(stretch_wid=2, stretch_len=2) e1.goto(x, y) e1.showturtle() e1.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e2 = turtle.Turtle() e2.hideturtle() e2.color(random_color) e2.penup() e2.speed(0) e2.shape('square') e2.shapesize(stretch_wid=2, stretch_len=2) e2.goto(x, y) e2.showturtle() e2.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e3 = turtle.Turtle() e3.hideturtle() e3.penup() e3.speed(0) e3.color(random_color) e3.shape('square') e3.shapesize(stretch_wid=2, stretch_len=2) e3.goto(x, y) e3.showturtle() e3.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e4 = turtle.Turtle() e4.hideturtle() e4.penup() e4.speed(0) e4.color(random_color) e4.shape('square') e4.shapesize(stretch_wid=2, stretch_len=2) e4.goto(x, y) e1.showturtle() e4.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e5 = turtle.Turtle() e5.hideturtle() e5.penup() e5.speed(0) e5.color(random_color) e5.shape('square') e5.shapesize(stretch_wid=2, stretch_len=2) e5.goto(x, y) e5.showturtle() e5.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e6 = turtle.Turtle() e6.hideturtle() e6.penup() e6.speed(0) e6.color(random_color) e6.shape('square') e6.shapesize(stretch_wid=2, stretch_len=2) e6.goto(x, y) e6.showturtle() e6.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e7 = turtle.Turtle() e7.hideturtle() e7.penup() e7.speed(0) e7.color(random_color) e7.shape('square') e7.shapesize(stretch_wid=2, stretch_len=2) e7.goto(x, y) e7.showturtle() e7.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e8 = turtle.Turtle() e8.hideturtle() e8.penup() e8.speed(0) e8.color(random_color) e8.shape('square') e8.shapesize(stretch_wid=2, stretch_len=2) e8.goto(x, y) e8.showturtle() e8.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e9 = turtle.Turtle() e9.hideturtle() e9.penup() e9.speed(0) e9.color(random_color) e9.shape('square') e9.shapesize(stretch_wid=2, stretch_len=2) e9.goto(x, y) e9.showturtle() e9.right(90) random_color = random.choice(enemy_colors) x = random.randint(x1, x2) y = random.randint(y1, y2) e10 = turtle.Turtle() e10.hideturtle() e10.penup() e10.speed(0) e10.color(random_color) e10.shape('square') e10.shapesize(stretch_wid=2, stretch_len=2) e10.goto(x, y) e10.showturtle() e10.right(90) pen = turtle.Turtle() pen.hideturtle() pen.penup() pen.goto(0, 360) pen.color('white') def move_right(): x = p.xcor() x += pm if x > 290: x = 290 p.setx(x) def move_left(): x = p.xcor() x -= pm if x x = -290 p.setx(x) def move_up(): y = p.ycor() y += pm if y > 390: y = 390 p.sety(y) def move_down(): y = p.ycor() y -= pm if y y = -390 p.sety(y) wn.listen() wn.onkeypress(move_left, 'Left') wn.onkeypress(move_right, 'Right') wn.onkeypress(move_up, 'Up') wn.onkeypress(move_down, 'Down') run = True while run: wn.update() em += 0.04 e1.fd(em) e2.fd(em) e3.fd(em) e4.fd(em) e5.fd(em) e6.fd(em) e7.fd(em) e8.fd(em) e9.fd(em) e10.fd(em) if e1.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e1.color(random_color) e1.goto(100000000000, 100000000000) e1.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e2.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e2.color(random_color) e2.goto(100000000000, 100000000000) e2.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e3.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e3.color(random_color) e3.goto(100000000000, 100000000000) e3.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e4.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e4.color(random_color) e4.goto(100000000000, 100000000000) e4.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e5.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e5.color(random_color) e5.goto(100000000000, 100000000000) e5.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e6.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e6.color(random_color) e6.goto(100000000000, 100000000000) e6.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e7.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e7.color(random_color) e7.goto(100000000000, 100000000000) e7.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e8.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e8.color(random_color) e8.goto(100000000000, 100000000000) e8.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e9.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e9.color(random_color) e9.goto(100000000000, 100000000000) e9.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if e10.ycor() x = random.randint(x1, x2) y = random.randint(y1, y2) random_color = random.choice(enemy_colors) e10.color(random_color) e10.goto(1000000000000, 100000000000) e10.goto(x, y) score += 1 pen.clear() pen.write('{}'.format(score), align='center', font=('courier', 24, 'normal')) if p.distance(e1) time.sleep(s) print('Score:', score) quit() if p.distance(e2) time.sleep(s) print('Score:', score) quit() if p.distance(e3) time.sleep(s) print('Score:', score) quit() if p.distance(e4) time.sleep(s) print('Score:', score) quit() if p.distance(e5) time.sleep(s) print('Score:', score) quit() if p.distance(e6) time.sleep(s) print('Score:', score) quit() if p.distance(e7) time.sleep(s) print('Score:', score) quit() if p.distance(e8) time.sleep(s) print('Score:', score) quit() if p.distance(e9) time.sleep(s) print('Score:', score) quit() if p.distance(e10) time.sleep(s) print('Score:', score) quit() wn.mainloop()

  • @SSSNIPD

    @SSSNIPD

    4 жыл бұрын

    I have done andrew ng's machine learning course. It would be awesome if you could explain how to apply those concepts to python and start machine learning in python.

  • @arhataria

    @arhataria

    4 жыл бұрын

    Another series of real "business" world data science tasks (using pandas and machine learning together!) would be awesome :D I'm from a non-IT background and the last series you posted actually helped me a lot at my work!!! Thanks a lot :)

  • @thebeston6710

    @thebeston6710

    3 жыл бұрын

    Can you try to do OpenGL

  • @CassieYT1

    @CassieYT1

    3 жыл бұрын

    Maybe a video on GANs would be cool?

  • @cagataykirici9878
    @cagataykirici98784 жыл бұрын

    It has now become an awesome rock-paper-scissors series man, thank you!

  • @seekergx8096
    @seekergx80964 жыл бұрын

    Thank you so much man! I've been studying ML like crazy and even so it's hard to get going without seeing someone do it first, you're really helping me out!

  • @pkPatricia
    @pkPatricia3 жыл бұрын

    Keith cannot thank you enough, there are places that present this topic in like 6 hours or something and you got to the point and really filled in some gaps I had with this concept. Very nice!

  • @pds7890
    @pds78903 жыл бұрын

    Thank you soo much, your explanation is relatable and easy to understand! :) I can't believe you are teaching for free. Happy to learn from you ☺️

  • @afrozahmad3173
    @afrozahmad31734 жыл бұрын

    Keith u finally posted u dont know how much i wait for your tutorials man and thx for the NN vid very good and u explain very well.Stay safe at home guys

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    Sorry for keeping you waiting! I appreciate your support 🙌

  • @wiz8058
    @wiz80584 жыл бұрын

    Finally Keith brought us our favorite food. Thanks 🙏🏼. Love how you made it too. Best tuition and keep it up bro

  • @satchsumner-waldman8761
    @satchsumner-waldman8761 Жыл бұрын

    Keith, your videos are unbelievably good, I've watched almost one per day for a week straight. Thanks so much for putting out this content!

  • @wt7658
    @wt76583 жыл бұрын

    It is very helpful for my preparation for the Tensorflow cert exam. Thanks very much!

  • @tamoorkhan3262
    @tamoorkhan32623 жыл бұрын

    The most illustrative tutorial on TensorFlow & Keras regarding NN and CNN. (Y)

  • @renipratiwi5720
    @renipratiwi57203 жыл бұрын

    i gladi find your channel. now i know how to resolve my main problem in my rock-paper-scissors exam. youve got a new subs!

  • @irumidesu9236
    @irumidesu92364 жыл бұрын

    dude, thanks for explaining most of the basics!

  • @CodeEmporium
    @CodeEmporium4 жыл бұрын

    Gotta love those details. Awesome work!

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    Thanks man! Big fan of your videos :)

  • @quytrannhat11
    @quytrannhat113 жыл бұрын

    extremely good, easy to understand, good job bro

  • @jasminehuang3611
    @jasminehuang3611 Жыл бұрын

    Hi Keith, really, can't thank you enough for making all the amazing videos that's perfect and easy to understand for someone like me who's first language isn't English :)

  • @KeithGalli

    @KeithGalli

    Жыл бұрын

    Glad that you enjoy them and happy to hear my English is easy enough to understand! :)

  • @saadbenbrahim954
    @saadbenbrahim9544 жыл бұрын

    Thank you! My man for this tutorial. A watcher from Morocco

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    You're welcome :). Would love to visit Morocco some day!

  • @saadbenbrahim954

    @saadbenbrahim954

    4 жыл бұрын

    @@KeithGalli you're welcome, I will be happy to show you around.

  • @lucky4the4turtle
    @lucky4the4turtle4 жыл бұрын

    You're Back!!!!! Dude we've missed you!!

  • @omkarsatapathy8209
    @omkarsatapathy82093 жыл бұрын

    Great job body. You made me love CNN 😃. I am accepting you as my teacher ☺️🙏

  • @ajayrana4296
    @ajayrana42963 жыл бұрын

    this is how teaching should be... love u brother

  • @phan5001
    @phan50013 жыл бұрын

    Thank you so much! This is very helpful for my project!

  • @lokguanlim7420
    @lokguanlim74204 жыл бұрын

    Learned a lot. Thank you so much!

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    You're welcome!

  • @realneosi
    @realneosi3 жыл бұрын

    HOW DID I MISS THIS UPLOAD 🤩

  • @RamiroAsincrono
    @RamiroAsincrono3 жыл бұрын

    Thank you! From Argentina

  • @Kingsohio
    @Kingsohio3 жыл бұрын

    This is dope bruh! Thanks for video

  • @Veguinho
    @Veguinho3 жыл бұрын

    Great tutorial! Thanks dude!

  • @moseskioko7820
    @moseskioko78203 жыл бұрын

    good stuff, thanks for the sharing knowledge

  • @Mei-ChiShih
    @Mei-ChiShih Жыл бұрын

    Excellent video

  • @GeorgePap99
    @GeorgePap992 жыл бұрын

    Bro, you help a lot with your vids!

  • @user-im9uu8zy5m
    @user-im9uu8zy5m3 жыл бұрын

    Thank you for the great video!!!

  • @parpithovas
    @parpithovas4 жыл бұрын

    thank you. great job!

  • @digigoliath
    @digigoliath4 жыл бұрын

    Awesome!! TQVM!

  • @notrevealable
    @notrevealable2 жыл бұрын

    Thank you so much!!

  • @richarddankwah3088
    @richarddankwah30883 жыл бұрын

    Hey !!! Mr. Galli is been a while, Infact your Tutorials on Data Analysis with python on that Mobile electronics and appliance was superb. It helped me to complete my project. Thou I found out few lapses and was a challenge which I was able to solve them myself and I did like a charm. You gave me that boldness to apply for few Jobs with my new project. Thank you. But the lapses really strengthen me very well and made me exploit more on different ways of writing codes. "But there is One last step you failed to do with that data, that is Predicting future sales with the data. Please kindly come back to fill that gap for us please . "Using Tensorflow and Keras with LSTM and or ARIMA model to predict future sale on items and dates". Still in waiting, you already have 3 stars with me, waiting for the part 2, (Using Tensorflow and Keras with LSTM and or ARIMA model to predict future sale on items and dates) which will be 2 stars to complete a 5 Star. Stillll In waiting !!!!!!!!!!!!!!!!!!!!!!

  • @thezeroquotient
    @thezeroquotient4 жыл бұрын

    Insightful!

  • @vincenrow7190
    @vincenrow71902 жыл бұрын

    You made it so clear step by step, great tutorial, best so far. Just wonder if u could make a video about custom object detecting using tensorflow keras on google colab, I've searched all around the youtube, all of the videos about this topic is kinda frustrating and dispointing, they teach people in a complex way, i'm a lazy man, really like the way you teaching 🍺

  • @jongcheulkim7284
    @jongcheulkim72842 жыл бұрын

    Thank you so much^^

  • @qingdekueh7186
    @qingdekueh71863 жыл бұрын

    Hi, how do you use this to predict a new image if it is rock paper or scissor? :(

  • @manu93ize
    @manu93ize4 жыл бұрын

    Congrats man 🙏 finally got monetized .

  • @andrehoffman6887
    @andrehoffman68873 жыл бұрын

    Always good to hear you, Keith. By the way, what'd you recommend for people to get a first job using CNN's? Thanks a lot

  • @seraf_in_._._._._._._._._._._
    @seraf_in_._._._._._._._._._._3 жыл бұрын

    Thank you for the nicely explained video! Helped me a lot. One question: If i use 64 filters in the first layer and 32 in the second (I'm talking about the net architecture around min 30), will i have 64*32=2048 filters in the second layer? Thanks!

  • @MrKrishnalovesyou
    @MrKrishnalovesyou4 жыл бұрын

    Stay safe my dear friend Keith, I m Indian & here covid cases are increasing 🇮🇳

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    Sorry to hear that covid cases are increasing over there :/. Hope you stay safe & healthy as well. We all will get through this!

  • @MrKrishnalovesyou

    @MrKrishnalovesyou

    4 жыл бұрын

    @@KeithGalli Yes Keith... We will fight & win ✌️

  • @prashantbisht2219

    @prashantbisht2219

    3 жыл бұрын

    @@MrKrishnalovesyou Bht hi ache bhai, mjaa hi aagya

  • @YazeedAlkosai
    @YazeedAlkosai3 жыл бұрын

    fruitful video, hope to see more in the 3D shape model using CNN with Keras. what if I have an object of 3D and need to train and predict the feature shape as measuring the shape by using CNN prediction and accuracy ?

  • @igordovgan7512
    @igordovgan75124 жыл бұрын

    Thank you

  • @davidadu1113
    @davidadu11134 жыл бұрын

    Your Pandas tuto was so great. It has urged me to go further. Can you do a tuto on how to deploy a machine learning model in django?

  • @joseph3036

    @joseph3036

    3 жыл бұрын

    That is easily done using Streamlit, checkout this video. m.kzread.info/dash/bejne/k3WFx5qpnKrfYbA.html

  • @WhiteError37
    @WhiteError374 жыл бұрын

    Keith, is it possible to predict where something is via a signal strength value and it’s lat and lng? So the higher the signal strength the closer you are to it. I’m struggling to write this in code form basically like a weighted median value but the Ai does the work and adjusts the weights. All that the model needs to output is a lat and lng of where it thinks the signal is coming from.

  • @hungnguyenngocduy2088
    @hungnguyenngocduy20883 жыл бұрын

    Hi Keith, If I want to use a dataset that is already on my computer instead of downloaded from the Internet, how do I do it! Much thanks :-)

  • @lorryzou9367
    @lorryzou9367 Жыл бұрын

    The pooling size of the MaxPooling layer is 2, which is too small to represent the image. If you set the pool_size to (5, 5), the test accuracy will be 80%.

  • @mohamadalemi2596
    @mohamadalemi25963 жыл бұрын

    is there any paper base on your tutorial? I want use it for my university project but it should be relative to specific paper (nice to be in ISA)

  • @Mei-ChiShih
    @Mei-ChiShih Жыл бұрын

    May I have a question? Why my terminal shows " cannot reshape array of size 226800000 into shape (372,300,300,1)" while I ran this code"train_images = train_images.reshape(2520, 300, 300, 1) test_images = test_images.reshape(372, 300, 300, 1)".

  • @sdiabr6792
    @sdiabr67924 жыл бұрын

    I can't thank you enough man Really amazing stuff Quick question Do you have any competitive programming background? And if so, could you give some tips on how to get better at it? Thanks so much man

  • @dab30012151227
    @dab300121512273 жыл бұрын

    Thank you Keith for such a lovely video. While running the code "model.evaluate(test_image, test_label)", I got below error. I am not sure why train and test size should be same. "ValueError: Data cardinality is ambiguous: x sizes: 2520 y sizes: 372 Please provide data which shares the same first dimension". I checked the shape of train_images and test_images and they are same "(300, 300, 1)"

  • @prakharkaushik5200
    @prakharkaushik52003 жыл бұрын

    So how do I use this model to make predictions

  • @haseenabadulla3208
    @haseenabadulla3208 Жыл бұрын

    Can you please explain how to load the data if saved locally but in different folders, that is, test images in one folder, train images in folders 0, 1 and 2 as per their types? Thank you.

  • @hawaabasheer5239
    @hawaabasheer52394 ай бұрын

    Where can I find the series of Keras and tensorflow videos?

  • @Nadelaev
    @Nadelaev4 жыл бұрын

    Thanks for your videos, man! But can you do some of PyTorch examples?

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    That is something that I want to do, but I don't have it on the immediate roadmap. Think it would require a decent amount of planning to do properly and want to focus on some other video topics before diving into PyTorch.

  • @Nadelaev

    @Nadelaev

    4 жыл бұрын

    @@KeithGalli gonna keep waiting! appreciate your work)

  • @ayencoscolfield3312

    @ayencoscolfield3312

    3 жыл бұрын

    Same here too eagerly waiting for a deep learning pytorch video examples from our man Keith Gaili

  • @JO-ej3nh
    @JO-ej3nh3 жыл бұрын

    I was trying to use the cat and dog dataset but the shape on shows the size of the samples and nothing else. Also there is only train data and only test data. Any solutions?

  • @woonie3134
    @woonie31343 жыл бұрын

    How can u extract the label of a classified image when working with a large dataset? I would like to classify food image and recommend recipes based on the label identified but I am not understanding how to do this. I WOULD kindly ask a tutorial on this matter. There is barely information on food related projects plz

  • @jackoverstreet2835
    @jackoverstreet28354 жыл бұрын

    If anyone is using Anaconda and importing the TensorFlow Dataset through pip isn't working then try: conda install -c anaconda tensorflow-datasets in the Anaconda Prompt, it worked for me.

  • @brandonruiz1746
    @brandonruiz17462 жыл бұрын

    hey keith hope you are well bro. I was hoping you could do a video on this same sort of stuff but doing it by using google drive. I have datasets for training images and testing images in my drive with a csv for each containing their forresponding labels. Thoughts?

  • @KeithGalli

    @KeithGalli

    2 жыл бұрын

    I have a similar video that is already filmed going over similar stuff. It got delayed by the sponsor so I'm not a exactly sure when I can post it

  • @tinsp253
    @tinsp2533 жыл бұрын

    Hi Keith, great job. I have learned a lot from your videos. Hope you will produce more. By the way, I have followed your video and the image classification work as expected. How can I predict one single image? When I pass in test_images[0], the predict function return "... expected ndim=4, found ndim=3 ...." obviously it is expecting 4 dimensional array.

  • @KeithGalli

    @KeithGalli

    3 жыл бұрын

    I think you could pass it in as predict(np.array(test_images[0])) and it will work. Glad you have liked some of my videos! :)

  • @tinsp253

    @tinsp253

    3 жыл бұрын

    @@KeithGalli I do this: print("Predict: ", np.round(best_model.predict(np.array(test_images[0])))) and the result is still the same as below "ValueError: Input 0 of layer sequential is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 300, 1]"

  • @azzmaniac4139

    @azzmaniac4139

    3 жыл бұрын

    You should try this : best_model.predict(np.array(test_images))[your_number] and it'll work!!

  • @saketshetty

    @saketshetty

    Жыл бұрын

    @@azzmaniac4139 When I'm prediction the model based on how you told it's returning an ndarray instead of the label, any idea how to tackle it?

  • @dhainik.suthar
    @dhainik.suthar2 жыл бұрын

    How to use this model for real time image classification ?

  • @aisham.yousuf5772
    @aisham.yousuf57722 жыл бұрын

    how to load our own dataset (pictures/images of objects) instead of using one of the existing dataset of tensorflow?

  • @KeithGalli

    @KeithGalli

    2 жыл бұрын

    I personally like using an ImageGenerator & the flow from directory methods in Keras. Here is a link you can read more about that: datascience.stackexchange.com/questions/65979/what-is-the-correct-way-to-call-keras-flow-from-directory-method

  • @DanielWeikert
    @DanielWeikert4 жыл бұрын

    Thanks. Why exactly did you keep the red color channel?

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    Ultimately we could have kept any of the color channels and the performance would remain roughly the same. Each of the color channels would produce a pretty similar grey scale image. No real reason I took red specifically other than I thought it made sense to just use index 0.

  • @DanielWeikert

    @DanielWeikert

    4 жыл бұрын

    @@KeithGalli ok thanks, so far I have always seen converting the color image to rgb upfront so I was wondering.

  • @FaizRaza-ue1be
    @FaizRaza-ue1be4 ай бұрын

    While showing the example using "fig = tfds.show_examples(info, ds_train)" It'll not work, it'll just throw an error, this signature has been modified from (info, ds_train) to (ds_train, info), so change it in your code...

  • @Banana_Chris
    @Banana_Chris4 жыл бұрын

    Is there a way to train a network with custom objects via webcam and then hold an object into the webcam so it will detect the custom object? I can't find not one tutorial about this:/ If someone know how to do that I would be very very thankful

  • @KeithGalli

    @KeithGalli

    4 жыл бұрын

    Hmm, yeah that would be the next logical extension of this tutorial. I don't know when I will get to it, but maybe check out this video series by sentdex: kzread.info/head/PLQVvvaa0QuDcNK5GeCQnxYnSSaar2tpku

  • @aresagathos2075
    @aresagathos20752 жыл бұрын

    Mnist example link in description points to 404 page

  • @soybeanz8582
    @soybeanz85824 жыл бұрын

    keith please make a video about the drawing app i send its cool it took hours to make

  • @soybeanz8582
    @soybeanz85824 жыл бұрын

    do the drawing app i put the code

  • @siddharthmani9588
    @siddharthmani95883 жыл бұрын

    Why are you using epochs = 5? aren't they a little less?

  • @joseph3036

    @joseph3036

    3 жыл бұрын

    To save some time.

  • @siddharthmani9588

    @siddharthmani9588

    3 жыл бұрын

    @@joseph3036 Is there an ideal number for the total epochs one must run?

  • @joseph3036

    @joseph3036

    3 жыл бұрын

    10 epochs have worked well for me so far, too many epochs will cause overfitting. stackoverflow.com/questions/47421951/keras-optimal-epoch-selection

  • @soybeanz8582
    @soybeanz85824 жыл бұрын

    keith i send you a code on your turtle graphics video its a drawing app can you put it in a video

Келесі