Neural Networks Explained from Scratch using Python

  Рет қаралды 352,343

Bot Academy

Bot Academy

Күн бұрын

Пікірлер: 225
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Please share this video if you know somebody whom it might help. Thanks :) edit: Some people correctly identified the 3Blue1Brown style of the video. That is because I am using the python library manim (created by 3Blue1Brown) for the animations. Link and more information in the description. Huge thanks for all the likes and comments so far. You guys are awesome!
@walidbezoui
@walidbezoui 2 жыл бұрын
WOW FIRST TIME TO KNOW HOW 3Blue1Brown Work Awesoome
@jonathanrigby1186
@jonathanrigby1186 2 жыл бұрын
Can you plz help me with this .. I want a chess ai to teach me what it learnt kzbin.info/www/bejne/hZCxmJ-PprWoasU
@spendyala
@spendyala Жыл бұрын
Can you share your video manim code?
@twanwolthaus
@twanwolthaus Жыл бұрын
Incredible video. Not because of your insight, but because how you use visuals to represent the information as digestible as possible.
@danielcurrin3882
@danielcurrin3882 28 күн бұрын
If anyone can tell me what neural networks on my phone is please let me know. Bye the way, I've been hearing voices that say they are going to kill me, they started at Granville medical centre, and pretty much seems like everyone working for Granville county is in the know and I'm not knowing sht
@blzahz7633
@blzahz7633 2 жыл бұрын
I can't say anything that hasn't been said already: This video is golden. The visualization, explaining, everything is just so well done. Phenomenal work. I'm basically commenting just for the algo bump this video rightfully deserves.
@hepengye4239
@hepengye4239 3 жыл бұрын
As an ML beginner, I know how much effort and time is needed for such visualization of a program. I would like to give you a huge thumb! Thank you for the video.
@xcessiveO_o
@xcessiveO_o 3 жыл бұрын
a thumbs up you mean?
@EagleMasterNews
@EagleMasterNews 9 ай бұрын
His thumb is now massive
@Ibrahim-o3m7m
@Ibrahim-o3m7m 6 ай бұрын
I dont think he want no thumbs
@abdulrafaynawaz1335
@abdulrafaynawaz1335 3 ай бұрын
He will be in pain if you will give him such a huge thumb... just give him a thumbs up
@magitobaetanto5534
@magitobaetanto5534 3 жыл бұрын
You've just explained very clearly in a single video what others try to vaguely explain in series of dozens videos. Thank you. Fantastic job! Looking forward to more great videos from you.
@ejkitchen
@ejkitchen 3 жыл бұрын
FANTASTIC video. Doing Stanford's Coursera Deep Learning Specialization and they should be using your video to teach week 4. Much clearer and far better visualized. Clearly, you put great effort into this. And kudos to using 3Blue1Brown's manim lib. Excellent idea. I am going to put your video link in the course chat room.
@danielcurrin3882
@danielcurrin3882 28 күн бұрын
If anyone can tell me what neural networks on my phone is please let me know. Bye the way, I've been hearing voices that say they are going to kill me, they started at Granville medical centre, and pretty much seems like everyone working for Granville county is in the know and I'm not knowing sht
@craftydoeseverything
@craftydoeseverything Жыл бұрын
I know I'm watching this 2 years after it was released but I really can't stress enough how helpful this is. I've seen heaps of videos explaining the math and heaps of videos explaining the code but this video really helped me to link the two together and demystify what is actually happening in both.
@hridumdhital
@hridumdhital 5 ай бұрын
As someone beginning machine learning, this video was so useful to really getting a deep understanding on how neural networks work!
@neuralworknet
@neuralworknet Жыл бұрын
12:40 why dont we use derivative of activation function for delta_o? But we used derivative of activation function for delta_h. Any answers???
@hidoxy1
@hidoxy1 Жыл бұрын
I was confused about the same thing, did you figure it out?
@GaithTalahmeh
@GaithTalahmeh 3 жыл бұрын
Welcome back dude! I have been waiting your comeback for so long Please dont go away this long next time :) Great editing and audio quality btw Reminds me of 3b1b
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Thanks! I'll try uploading more consistently now that I've finished my Thesis :)
@pisoiorfan
@pisoiorfan Жыл бұрын
That's it! Comprehensive training code loop for a 1 hidden layer NN in just 20 lines. Thank you sir!
@ThomasCaetano1970
@ThomasCaetano1970 9 ай бұрын
This is a great video even for those who are not into this field. Great voice and explanation of how neural networks work.
@pythonbibye
@pythonbibye 3 жыл бұрын
I can tell you put a lot of work into this. You deserve more views! (also commenting for algorithm)
@photorealm
@photorealm 8 ай бұрын
Excellent video and accompanying code. I just keep staring at the code, its art. And the naming convention with the legend is insightful, the comments tell the story like a first class narrator. Thank you for sharing this.
@eldattackkrossa9886
@eldattackkrossa9886 3 жыл бұрын
oh hell yeah :) just got yourself a new subscriber, support your small channels folks
@Transc3nder
@Transc3nder 3 жыл бұрын
This is so interesting. I always wondered how a neural net works... but it's also good to remind ourselves that we're not as clever as we thought. I feel humbled knowing that there's some fierce minds out there working on these complicated problems.
@danielcurrin3882
@danielcurrin3882 28 күн бұрын
If anyone can tell me what neural networks on my phone is please let me know. Bye the way, I've been hearing voices that say they are going to kill me, they started at Granville medical centre, and pretty much seems like everyone working for Granville county is in the know and I'm not knowing sht
@kousalyamara8746
@kousalyamara8746 6 ай бұрын
The BEST video ever! Hats off to your efforts and a Big Big Thanks for imparting the knowledge to us. I will never forget the concept and ever. 😊
@cactus9277
@cactus9277 3 жыл бұрын
for those actually implementing something, note at 12:08 the values in the hidden layer change back to how they were pre sigmoid application
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
good point! Must have missed it when creating the video.
@robertplavka6194
@robertplavka6194 Жыл бұрын
yes but wasnt the value before sigmoid in the last cell 9 ? precisely I got something like 8.998 If I missed something please explain I want to know why is that
@ElNachoMacho
@ElNachoMacho 2 жыл бұрын
This is the kind of video that I was looking for to get beyond the basics of ML and start gaining a better and deeper understanding. Thank you for putting the effort into making this great video.
@mici432
@mici432 3 жыл бұрын
Saw your post on Reddit. Thank you very much for the work you put in your videos. New subscriber.
@gustavgotthelf7117
@gustavgotthelf7117 8 ай бұрын
Best video to this kind of topic on the whole market. Very well done! 😀
@dexterroy
@dexterroy 9 ай бұрын
Listen to the man, listen well. He is giving accurate and incredibly valuable knowledge and information that took me years to learn.
@gonecoastaltoo
@gonecoastaltoo 3 жыл бұрын
Such a great video -- high quality and easy to follow. Thanks. One typo in Additional Notes; (X,) + (1,) == (X, 1) -- this is shown correctly in the video, but in the Notes you show result as (1, X)
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Thank you very much for pointing out the inconsistency. You're right, it is wrong in the description. I just corrected it.
@BlackSheeeper
@BlackSheeeper 3 жыл бұрын
Glad to have you back :D
@andrewfetterolf7042
@andrewfetterolf7042 2 жыл бұрын
Well done, i couldnt ask for a better video, Germans make the best and most detailed educational videos here on youtube. The pupils of the world say thank you.
@OrigamiCreeper
@OrigamiCreeper 3 жыл бұрын
Nice job with the explanation!!! I felt like I was watching a 3blue1brown video! A few notes: 1.)You should run through examples more often because that is one of the best ways to understand a concept. For example. you should have run through the algorithm for the cost function so people understand it intuitively. 2.)It would be nice if you went more in depth behind backpropagation and why it works. Things you did well: 1.)Nice job with the animations and how you simplified them for learning purposes, the diagrams would be much harder to understand if there was actually 784 input layers. 2.)I love the way you dissect the code line by line! I cant wait to see more videos by you I think this channel could get really big!
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Thank you very much for the great feedback!
@michaelbarry755
@michaelbarry755 Жыл бұрын
Amazing video. Especially the matrix effect on the code in the first second. Love it.
@susakshamjain1926
@susakshamjain1926 7 ай бұрын
Best video of ML so far i have seen.
@devadethan9234
@devadethan9234 Жыл бұрын
yes , finally I had found the golden channel thanks budd
@AVOWIRENEWS
@AVOWIRENEWS 10 ай бұрын
It's great to see content that helps demystify complex topics like neural networks, especially using a versatile language like Python! Understanding neural networks is so vital in today's tech-driven world, and Python is a fantastic tool for hands-on learning. It's amazing how such concepts, once considered highly specialized, are now accessible to a wider audience. This kind of knowledge-sharing really empowers more people to dive into the fascinating world of AI and machine learning! 🌟🐍💻
@danielcurrin3882
@danielcurrin3882 28 күн бұрын
If anyone can tell me what neural networks on my phone is please let me know. Bye the way, I've been hearing voices that say they are going to kill me, they started at Granville medical centre, and pretty much seems like everyone working for Granville county is in the know and I'm not knowing sht
@maxstengl6344
@maxstengl6344 3 жыл бұрын
at 14:32 you use the updated weights (to the output layer) to calculate the hidden layer deltas. I never saw anyone doing it this way. Usually, the old weights are used and all weights are updated after backprop. I don't think it makes a large difference but I wonder if this is intentional or I am missing something.
@FlyingUnosaur
@FlyingUnosaur 2 жыл бұрын
I also think this is a mistake. Andrew Ng emphasized that the weights must be updated after calculating the derivatives.
@neuralworknet
@neuralworknet Жыл бұрын
​@@FlyingUnosauryou are talking about the derivative of activation function right?
@appliiblive
@appliiblive Жыл бұрын
Thank you so much for posting this comment, i was wondering why my model was losing accuracy with every epoch. With that little change my accuracy jumped from 20'000 / 60'000 to 56'000 / 60'000
@kenilbhikadiya8073
@kenilbhikadiya8073 7 ай бұрын
Great explanation and hats off to ur efforts for these visualisation!!! 🎉❤
@vxqr2788
@vxqr2788 3 жыл бұрын
Subscribed. We need more channels like this!
@napomokoetle
@napomokoetle Жыл бұрын
Wow! Thanks you so much. You rock. Now looking forward to "Transformers Explained from Scratch using Python" ;)
@doomcrest8941
@doomcrest8941 3 жыл бұрын
awesome video :) i did not know that you could use that trick for the mse 👍
@Darth_Zuko
@Darth_Zuko 3 жыл бұрын
This is one of the best explained videos i've seen for this. great job! Hope this comment helps :)
@mateborkesz7278
@mateborkesz7278 11 ай бұрын
Such an awesome video! Helped me a lot to understand neural networks. Thanks a bunch!
@ThootenTootinTabootin
@ThootenTootinTabootin Жыл бұрын
"does some magic." Great explanation. Thanks.
@angelo9915
@angelo9915 3 жыл бұрын
Amazing video! The explanation was very clear and I understood everything. Really hope you're gonna be posting more videos on neural networks.
@DV-IT
@DV-IT 3 ай бұрын
This video is perfect for beginners, thank u so much
@Lukas-qy2on
@Lukas-qy2on Жыл бұрын
This video is pretty great, although i had to pause and sketch along and keep referring to the code you showed, it definitely helped me understand better how to do it
@mrmotion7942
@mrmotion7942 3 жыл бұрын
Love this so much. So organised and was really helpful. So glad you put the effort into the animation. Keep up the great work!
@eirikd1682
@eirikd1682 2 жыл бұрын
Great Video! However, you say that "Mean Squared Error" is used as loss function and you also calculate it. However "o - l" (seemingly the derivative of the loss function) isn't the derivative of MSE. It's the derivative of Categorical Cross Entropy ( -np.sum(Y * np.log(output)), with Softmax before it). Anyways, keep up the great work :)
@brijeshlakhani4155
@brijeshlakhani4155 3 жыл бұрын
This is really helpful for beginners!! Great work always appreciated bro!!
@malamals
@malamals 3 жыл бұрын
Very well explained. I really liked it. making noise for you. Please make such video to understand NLP in the same intuitive way. Thank you :)
@jimbauer9508
@jimbauer9508 3 жыл бұрын
Great explanation - Thank you for making this!
@chrisogonas
@chrisogonas 2 жыл бұрын
Superbly illustrated! Thanks for sharing.
@_Slach_
@_Slach_ 3 жыл бұрын
11:31 What if the first output neuron wasn't the one with the highest value? Does that mean that the neural network classified the image incorrectly?
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Exactly :)
@v4dl45
@v4dl45 Жыл бұрын
Thank you for this amazing video. I understand the huge effort in the animations and I am so grateful. I believe this is THE video for anyone trying to get into machine learning.
@bdhaliwal24
@bdhaliwal24 Жыл бұрын
Fantastic job with your explanation and and especially the animations. All of this really helped to connect the dots
@Lambertusjan
@Lambertusjan 2 жыл бұрын
Thanks for a very clear explanation. I was doing the same from scratch in python, but got stuck at dimensioning the weight matrices correctly, especially in this case with the 784 neuron input. Now i can check if this helps me to complete my own three layer implementation. 😅
@NikoKun
@NikoKun 2 жыл бұрын
What are you referring to when you talk about "defining the matrix from the right-layer to the left-layer" @ 2:35 ? I'm sure I'm just missing something obvious, but I can't seem to figure out what that's referring to in the code..
@viktorvegh7842
@viktorvegh7842 9 ай бұрын
11:32 why are you checking for the highest value I dont understand when the highest is 0.67 its classified as 0 can you please explain? Like what this number has to be for example for input to be classified as 1
@waterspray5743
@waterspray5743 3 жыл бұрын
14:32 Where did the equation "delta_h = np.transpose(w_h_o) @ delta_o * h * (1 - h)" come from? I thought we were using gradient descent of the cost function?
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Hey. When calculating the delta values for the hidden layers, we are using the derivate of the activation function. And the Derivate of the sigmoid function (h) is h * (1 - h) We just use the derivate of the cost function for delta_o which is already simplified to “o - l” here due to some mathematical tricks that can be used for the mean squared error cost function. I have to admit that this video is optimized to explain the concept and not the mathematics. To get a deep understanding of the mathematics, I’d recommend the free Stanford Machine Learning course by Andrew Mg on Coursera
@waterspray5743
@waterspray5743 3 жыл бұрын
@@BotAcademyYT Hello, I have a problem. Isn't the "derivative of sigmoid(h) wrt h" = "sigmoid(h) * (1 - sigmoid(h))" instead of "h * (1 - h)"?
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
@@waterspray5743 if you do sigmoid(h) you've applied sigmoid twice. Your statement gets correct if you swap 'h' for 'h_pre'. You can also see this in the code, pay special attention to line 24 and 25. Does it make sense now?
@kallattil
@kallattil 11 ай бұрын
Excellent content and illustration 🎉
@jonnythrive
@jonnythrive 2 жыл бұрын
This was actually very good! Subscribed.
@jordyvandertang2411
@jordyvandertang2411 3 жыл бұрын
hey this was a great into! Gave a good playing ground to experiment with in increasing the nodes of the hidden layer, changing the activation function and even adding an addition hidden layer to evaluate the effects/effectiveness! With more epochs could get it above 99% accuracy (on the training set, so might be overfitted, but hey_)
@itzblinkzy1728
@itzblinkzy1728 3 жыл бұрын
Amazing video I hope this gets more views.
@Maxou
@Maxou 10 ай бұрын
Really nice video, keep doing those!!
@georgeseese
@georgeseese Жыл бұрын
What do neurons represent? You say "just numbers" @1:39. That may be true of the input layer (pixel values) and bias. But don't the neurons in other layers represent functions?
@alizaka1467
@alizaka1467 2 ай бұрын
Sad to see a valid question get zero likes and replies for over 8 months
@HanzoHasashi-bv7rm
@HanzoHasashi-bv7rm Жыл бұрын
Video Level: Overpowered!
@VereskM
@VereskM 3 жыл бұрын
Source text Excellent video. Best of the best ) i want to see more and slowly about backpropagation algorithm. It is most interesting moments.. maybe better to make the step by step slides?
@Michael-ty2uo
@Michael-ty2uo 10 ай бұрын
The first minute of this video got myself asking who is this dude and does he make more videos explaining compicated topics in a simple way. pls do more
@saidhougga2023
@saidhougga2023 2 жыл бұрын
Amazing visualized explanation
@asfandiyar5829
@asfandiyar5829 2 жыл бұрын
You create some amazing content. Really well explained.
@Ibrahim-o3m7m
@Ibrahim-o3m7m 6 ай бұрын
How would you do the 50000 samples for training? Great video by the way!
@LetsGoSomewhere87
@LetsGoSomewhere87 3 жыл бұрын
Making noise for you, good luck!
@johannesvartdal624
@johannesvartdal624 11 ай бұрын
This video feels like a 3Brown1Blue video, and I like it.
@curtezyt1984
@curtezyt1984 Жыл бұрын
you got a subscriber ❤
@Scronk03
@Scronk03 3 жыл бұрын
Thank you for this. Fantastic video.
@dormetulo
@dormetulo 3 жыл бұрын
Amazing video really helpful!
@EnglishRain
@EnglishRain 3 жыл бұрын
Great content, subscribed!
@nomnom8127
@nomnom8127 3 жыл бұрын
Great video
@khalil_stuff
@khalil_stuff 5 ай бұрын
but why we can't write :delta_o = (o-l)* (h * (1 - h)) 14:30
@quant-prep2843
@quant-prep2843 3 жыл бұрын
intuitive video on the whole planet, likewise can you come up with a brief explanation on NEAT algorithm as well ?
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Thanks! I‘ll add it to my list. If more people request it or if I‘m out of video ideas, I‘ll do it :-)
@quant-prep2843
@quant-prep2843 3 жыл бұрын
@@BotAcademyYT Nooo, we cant wait.... i shared this video across all discord servers, and most of em asked , wish this guy could make a video like this on NEAT or hyperNEAT. because there isnt much resources out there. Hope you will make it!
@parthpatwari3174
@parthpatwari3174 20 күн бұрын
a neural network with only 2 for loops is underrated
@wariogang1252
@wariogang1252 3 жыл бұрын
Great video, really interesting!
@Hide310122
@Hide310122 2 жыл бұрын
Such an amazing video with lots of visualization. But I don't think you can simplify delta_o to "o - l" with whatever mathematical tricks. It needs to be "(o - l) * (o * (1 - o))".
@Kuratius
@Kuratius 2 жыл бұрын
I think you're right, but for some reason it seems to work anyway
@neuralworknet
@neuralworknet Жыл бұрын
yess i have been trying to understand this for weeks 🤯
@0xxi1
@0xxi1 Жыл бұрын
you are the man! My respect goes out to you
@pu3zle
@pu3zle 3 жыл бұрын
Great content! I can't wait for more of this stuff
@rverm1000
@rverm1000 10 ай бұрын
Thanks. I wonder if I could train it for other pictures?
@miguelhernandez3730
@miguelhernandez3730 3 жыл бұрын
Excellent video
@yoctometric
@yoctometric 3 жыл бұрын
Algy comment right here, thanks for the wonderful video!
@onlineinformation5320
@onlineinformation5320 10 ай бұрын
As a neural network, I can confirm that we work like this
@ziphy_6471
@ziphy_6471 8 ай бұрын
Well , your brain is basically a complex neural network Plus, our body isn't us; our brain is us. We are just a complex meat neural network controlling a big fleshy, meaty and boney body.
@tanvir-tonoy-programmer
@tanvir-tonoy-programmer 10 ай бұрын
Hey do you use manim ? I was curious should I use manim or Aftereffect to visualise math concepts like those ???
@neliodiassantos
@neliodiassantos 3 жыл бұрын
Great work! thanks for the explication
@2wen98
@2wen98 2 жыл бұрын
how could i split the data into training and testing data?
@noone-du5qu
@noone-du5qu 6 ай бұрын
bro how did u make the first layer know how much number of color scale should be used on the img
@Ragul_SL
@Ragul_SL 10 ай бұрын
how is the hidden layer is set as 20 ? how is it decided?
@cryptoknightatheaume6462
@cryptoknightatheaume6462 2 жыл бұрын
awesome man. Could you please tell me how do you realise this neural animation? It's really nice
@alangrant5278
@alangrant5278 9 ай бұрын
Gets even more tricky at 50 metres one handed - weak hand!
@ThePaintingpeter
@ThePaintingpeter 2 жыл бұрын
Fantastic video. I really appreciate the effort u_tubers put into great videos like this one.
@hynesie11
@hynesie11 11 ай бұрын
for the first node in the hidden layer you added the bias node of 1, for the rest of the nodes in the hidden layer you multiplied the bias node of 1 ??
@OK-dy8tr
@OK-dy8tr 3 жыл бұрын
Lucid explanation !!
@boozflooz6255
@boozflooz6255 Жыл бұрын
Clarification, is this the delta rule? if not, what method did you use for backpropagation?
@oliverb.2083
@oliverb.2083 3 жыл бұрын
For running the code on Ubuntu 20.04 you need to do this: git clone github.com/Bot-Academy/NeuralNetworkFromScratch.git cd NeuralNetworkFromScratch sudo apt-get install python3 python-is-python3 python3-tk -y pip install --user poetry ~/.local/bin/poetry install ~/.local/bin/poetry run python nn.py
@cocoarecords
@cocoarecords 3 жыл бұрын
Wow amazing
@payola5000
@payola5000 3 жыл бұрын
I really loved your video, it's so clearly explained. I have a kind of big question. What if you had a data frame where all the columns are related to each other, but there are different functions for certain parts of it? I'm trying to make a neutral network that is meant to understand the functional parts of proteins, in order to create new proteins
@BotAcademyYT
@BotAcademyYT 3 жыл бұрын
Thanks! That's a really hard one :D If there is some temporal difference in the data, you'd need a recurrent NN like an LSTM. But I think its not the case for proteins. So if they are related to each other I guess you'd flatten the data frame and use it as input. If the input dimension is too large, I think you need some other feature extraction technique before applying a NN. But I am just guessing here tbh. There might be better approaches directly for proeteins (there are surely some good papers out there because its a topic with quite some research behind it)
@enriquefernandezaraujo3943
@enriquefernandezaraujo3943 2 жыл бұрын
TKU for this excellent video👌
@heckyes
@heckyes Жыл бұрын
Do these initial layer numbers have to be between 0 and 1? Can't they just be any number if the activation function will clamp them down to be between 0 and 1?
@hchattaway
@hchattaway Жыл бұрын
Excellent video and explanation of this classic intro to cv... However, when I clone the repo, install poetry and run poetry install, it throws a ton of errors. is there just a requirements.txt file for this that can be used? I am using Ubuntu 23.04 and Python 3.11.3
How to Create a Neural Network (and Train it to Identify Doodles)
54:51
Sebastian Lague
Рет қаралды 1,9 МЛН
The Most Important Algorithm in Machine Learning
40:08
Artem Kirsanov
Рет қаралды 550 М.
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 62 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Create a Simple Neural Network in Python from Scratch
14:15
Polycode
Рет қаралды 777 М.
Watching Neural Networks Learn
25:28
Emergent Garden
Рет қаралды 1,4 МЛН
Convolutional Neural Networks from Scratch | In Depth
12:56
Teaching myself C so I can build a particle simulation
11:52
Gradience
Рет қаралды 328 М.
why rust libraries may never exist.
7:26
Low Level
Рет қаралды 286 М.
Transformer Neural Networks Derived from Scratch
18:08
Algorithmic Simplicity
Рет қаралды 152 М.
I Built a Neural Network from Scratch
9:15
Green Code
Рет қаралды 473 М.
The "Just One More" Paradox
9:13
Marcin Anforowicz
Рет қаралды 3,2 МЛН
Explaining Pointers Until I Go Insane
6:42
Mults
Рет қаралды 347 М.
Why Neural Networks can learn (almost) anything
10:30
Emergent Garden
Рет қаралды 1,2 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН