![Papers in 100 Lines of Code](/img/default-banner.jpg)
- 64
- 60 813
Papers in 100 Lines of Code
Приєднався 25 жов 2020
Denoising Diffusion Probabilistic Models from Scratch using PyTorch!
Machine Learning: PyTorch implementation of the paper "Denoising Diffusion Probabilistic Models".
Link to the paper: arxiv.org/abs/2006.11239
GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Denoising_Diffusion_Probabilistic_Models
Udemy course: www.udemy.com/course/diffusion-models/?referralCode=CA3F0C5DAA29F449F6DD
-----------------------------------------------------------------------------------------------------
CONTACT: papers.100.lines@gmail.com
#python #pytorch #diffusionmodels #diffusion #models #dalle2 #dalle3 #midjourney #thermodynamics #neuralnetworks #machinelearning #artificialintelligence #deeplearning #data #unsupervisedlearning #research #neural #function #ddpm
Link to the paper: arxiv.org/abs/2006.11239
GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Denoising_Diffusion_Probabilistic_Models
Udemy course: www.udemy.com/course/diffusion-models/?referralCode=CA3F0C5DAA29F449F6DD
-----------------------------------------------------------------------------------------------------
CONTACT: papers.100.lines@gmail.com
#python #pytorch #diffusionmodels #diffusion #models #dalle2 #dalle3 #midjourney #thermodynamics #neuralnetworks #machinelearning #artificialintelligence #deeplearning #data #unsupervisedlearning #research #neural #function #ddpm
Переглядів: 1 857
Відео
U-Net from Scratch using PyTorch | Backbone for Diffusion Models
Переглядів 212Місяць тому
Machine Learning: U-Net Implementation. GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Denoising_Diffusion_Probabilistic_Models Udemy course: www.udemy.com/course/diffusion-models/?referralCode=CA3F0C5DAA29F449F6DD CONTACT: papers.100.lines@gmail.com #python #pytorch #diffusionmodels #diffusion #models #dalle2 #dalle3 #midjourney #thermodynamics #neuralnetworks #machine...
Foundations of 1 x 1 convolutions | Machine Learning
Переглядів 1,1 тис.2 місяці тому
Machine Learning: Implementation of the paper "Network In Network" in 100 lines of PyTorch code. Link to the paper: arxiv.org/abs/1312.4400 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Network_In_Network CONTACT: papers.100.lines@gmail.com #python #NiN #neuralnetworks #machinelearning #artificialintelligence #deeplearning #data #bigdata #supervisedlearning #research #...
Instant NGP in 100 lines of PyTorch code | NeRF #13
Переглядів 9862 місяці тому
Pure Python / PyTorch implementation of the paper "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding" in 100 lines of PyTorch code. Udemy course about NeRF: www.udemy.com/course/neural-radiance-fields-nerf/?referralCode=DD33817D57404AF048DF Link to the paper: arxiv.org/abs/2201.05989 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Instant_Neural_Gra...
3D reconstruction from a single image! Few-Shot Neural Radiance Fields | NeRF #12
Переглядів 7763 місяці тому
Novel View Synthesis, 3D Reconstruction, and Neural Radiance Fields from a single image using meta learning. Implementation of the paper "Learned Initializations for Optimizing Coordinate-Based Neural Representations" in 100 lines of PyTorch code. Udemy course about NeRF: www.udemy.com/course/neural-radiance-fields-nerf/?referralCode=DD33817D57404AF048DF Link to the paper: arxiv.org/abs/2012.02...
Pinhole camera model and Ray Generation for Neural Radiance Fields | NeRF #11
Переглядів 5104 місяці тому
This video covers the essentials of the Pinhole camera model and Ray Generation for Neural Radiance Fields. You'll gain an understanding of pinhole cameras and their role in visualizing light rays in 3D space. Additionally, we'll dive into the practical aspects of ray generation techniques, providing valuable insights into the realm of computer vision and graphics. Udemy course about NeRF: www....
Diffusion Models from Scratch using PyTorch!
Переглядів 1,2 тис.9 місяців тому
Machine Learning: PyTorch implementation of the initial paper on Diffusion Models "Deep Unsupervised Learning using Non equilibrium Thermodynamics". Link to the paper: arxiv.org/abs/1503.03585 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Deep_Unsupervised_Learning_using_Nonequilibrium_Thermodynamics#deep-unsupervised-learning-using-nonequilibrium-thermodynamics Udemy ...
Machine Learning without Training❗️Denoising, Inpainting & Super-resolution | PyTorch
Переглядів 81610 місяців тому
Machine Learning: Implementation of the paper "Deep Image Prior" in 100 lines of PyTorch code. Link to the paper: arxiv.org/abs/1711.10925 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Deep_Image_Prior CONTACT: papers.100.lines@gmail.com #python #pytorch #neuralnetworks #machinelearning #artificialintelligence #deeplearning #research #activationfunction #relu #optimiza...
Radiance Fields without Neural Networks! 💯 lines of code | NeRF #10
Переглядів 1 тис.11 місяців тому
Radiance Fields: Implementation of the paper "Plenoxels: Radiance Fields without Neural Networks" in 100 lines of PyTorch code. Udemy course about NeRF: www.udemy.com/course/neural-radiance-fields-nerf/?referralCode=DD33817D57404AF048DF Link to the paper: arxiv.org/abs/2112.05131 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Plenoxels_Radiance_Fields_without_Neural_Net...
SELU activation function in 💯 lines of PyTorch code | Machine Learning
Переглядів 19411 місяців тому
Machine Learning: Implementation of the paper "Self-Normalizing Neural Networks" in 100 lines of PyTorch code. Link to the paper: arxiv.org/abs/1706.02515 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Self_Normalizing_Neural_Networks CONTACT: papers.100.lines@gmail.com #python #selu #neuralnetworks #machinelearning #artificialintelligence #deeplearning #data #bigdata #...
GELU activation function in 💯 lines of PyTorch code | Machine Learning
Переглядів 371Рік тому
Machine Learning: Implementation of the paper "Gaussian Error Linear Units (GELUs)" in 100 lines of PyTorch code. Link to the paper: arxiv.org/abs/1606.08415 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Gaussian_Error_Linear_Units_GELUs CONTACT: papers.100.lines@gmail.com #python #gelu #neuralnetworks #machinelearning #artificialintelligence #deeplearning #data #bigda...
ELU activation function in 💯 lines of PyTorch code | Machine Learning
Переглядів 223Рік тому
Machine Learning: Implementation of the paper "Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)" in 100 lines of PyTorch code. Link to the paper: arxiv.org/abs/1511.07289 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Fast_and_Accurate_Deep_Network_Learning_by_Exponential_Linear_Units_ELUs CONTACT: papers.100.lines@gmail.com #python #elu #neura...
Few-Shot Learning & Meta-Learning in 💯 lines of PyTorch code | MAML algorithm
Переглядів 2,2 тис.Рік тому
Machine Learning: Implementation of the paper "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks" in 100 lines of PyTorch code. Link to the paper: arxiv.org/abs/1703.03400 GitHub: github.com/MaximeVandegar/Papers-in-100-Lines-of-Code/tree/main/Model_Agnostic_Meta_Learning_for_Fast_Adaptation_of_Deep_Networks CONTACT: papers.100.lines@gmail.com #python #pytorch #maml #neuralnetwo...
Few-Shot Neural Volume Rendering (InfoNeRF) in 💯 lines of code! | NeRF #9
Переглядів 1,1 тис.Рік тому
Few-Shot Neural Volume Rendering (InfoNeRF) in 💯 lines of code! | NeRF #9
Free Frequency Regularization (FreeNeRF) in 💯 lines of PyTorch code | NeRF#8
Переглядів 750Рік тому
Free Frequency Regularization (FreeNeRF) in 💯 lines of PyTorch code | NeRF#8
K-Planes in 💯 lines of PyTorch code | NeRF#7
Переглядів 849Рік тому
K-Planes in 💯 lines of PyTorch code | NeRF#7
PlenOctrees in 100 lines of PyTorch code | NeRF#6
Переглядів 1,2 тис.Рік тому
PlenOctrees in 100 lines of PyTorch code | NeRF#6
NeRF-- in 100 lines of PyTorch code | NeRF#5
Переглядів 1,7 тис.Рік тому
NeRF in 100 lines of PyTorch code | NeRF#5
Minimax algorithm with Alpha-beta pruning | Implementation
Переглядів 1,3 тис.Рік тому
Minimax algorithm with Alpha-beta pruning | Implementation
Pathfinding & Searching Tree Algorithms | DFS, BFS & A* in 20 lines of Python code
Переглядів 127Рік тому
Pathfinding & Searching Tree Algorithms | DFS, BFS & A* in 20 lines of Python code
KiloNeRF: Speeding up Neural Radiance Fields with Thousands of Tiny MLPs | 100 lines of PyTorch code
Переглядів 947Рік тому
KiloNeRF: Speeding up Neural Radiance Fields with Thousands of Tiny MLPs | 100 lines of PyTorch code
Machine Learning: Rectified ADAM in 100 lines of PyTorch code
Переглядів 144Рік тому
Machine Learning: Rectified ADAM in 100 lines of PyTorch code
Machine Learning: ADAM in 100 lines of PyTorch code
Переглядів 727Рік тому
Machine Learning: ADAM in 100 lines of PyTorch code
Neural Network from Scratch without ML libraries | 100 lines of Python code
Переглядів 5 тис.Рік тому
Neural Network from Scratch without ML libraries | 100 lines of Python code
Machine Learning Papers: Multiplicative Filter Networks in 100 lines of PyTorch code
Переглядів 360Рік тому
Machine Learning Papers: Multiplicative Filter Networks in 100 lines of PyTorch code
NeRF | Fourier Features Let Networks LearnHigh Frequency Functions in Low Dimensional Domains
Переглядів 659Рік тому
NeRF | Fourier Features Let Networks LearnHigh Frequency Functions in Low Dimensional Domains
Neural Radiance Fields at High FPS | FastNeRF in 100 lines of PyTorch code
Переглядів 2,1 тис.Рік тому
Neural Radiance Fields at High FPS | FastNeRF in 100 lines of PyTorch code
Neural Radiance Fields | NeRF in 100 lines of PyTorch code
Переглядів 17 тис.Рік тому
Neural Radiance Fields | NeRF in 100 lines of PyTorch code
Machine Learning | Convolutional Generative Adversarial Networks in 100 lines of PyTorch code
Переглядів 129Рік тому
Machine Learning | Convolutional Generative Adversarial Networks in 100 lines of PyTorch code
thanks!! great approach
Thank you!
i got you , you are maxime
Indeed :)
looks like you really like to reinvent the wheels... like was that intentional or this really cannot be implemented in a straightforward way? also in your github I saw the code no one committed a better version... may I try to write a better one and raise a PR?
Hi, I am always open to improvements. If you think you can improve the code, please do not hesitate to make a PR
You skipped the coarse/fine logic from the paper. Were you able to get decent results without it?
Hi, thank you for your question. The results I show at the beginning of the video are without it.To me these are decent results although they would be better with the hierarchical volume sampling strategy. I think I will make a video about it in the near future :)
Thank you for the video. You are awesome.
Thank you so so much!
Great video. Thank you.
Thank you!
Great stuff. Thank you!
Thank you so much!
In the get_timestep_embedding, for padding shouldn’t we use torch.nn.functional.pad(emb,[0,1,0,0]). I think the syntax is from tensor flow padding. But thanks a lot for this amazing tutorial.
You are absolutely right, thank you for the catch! This function was indeed borrowed from tensorflow. Feel free to make a pull request. Otherwise, I will update it myself.
Very concise. Can you show the results?
Thank you! I show the results at the beginning of the video, and in the README -- link in the description
Really excited for the video
I will do my best to release it soon!
Hey! Great clip from your hidden gem of a channel. However, it was a bit quiet. Please consider maybe doubling the max loudness on your future uploads!! 🤞🙏
also, lots of echo
Hi @SleekGreek and @nickfratto2439, thank you for letting me know! I am redesigning my audio capture and hopefully it will be better in my next videos
Tu perds ton temps salop*
No video explains this part! Thanks a lot!
Thank you!
Nice vid! What IDE are you using?
Tank you! I am using Sublime Text
Annoying AI Voice..
Yeah, I no longer use AI voice now
Really great work!🎉 Would love to see implementation of RL papers and foundational models.
Thank you! This is planned! Should be released in the coming months
Exactly what im looking for. Thanks friend! Make more of these
Thank you! Will do
great tutorial. I am also wondering which theme you use in the video btw
Hi @anhtth2207, thank you for your question. Do you mean the sublime text theme? If yes, this is the default theme
Thank you very much for this video.
My pleasure :)
Here before this channel blows up ; Really nice works 🔥
Thank you so much!
Thank you so muchhh!!
Thank you! :)
hey can you please explain how can we render the images in 'novel_view' in to a 3D object. Does it require photogrammetry?
Thank you for your question. The learned NeRF representation is a 3D model of the object. The most commonly used approach to obtain another representation (e.g. mesh) is to do a 3D to 3D conversion using algorithms such as Marching Cubes. Another possible approach, more closely related to what you suggest, is to use the NeRF representation to generate more views -- and potentially depths -- so that they can be fed to an algorithm such as TSDF (truncated signed distance function) Fusion.
great tutorial brother!
Thank you so much! :)
Hi would it be possible for you to go through and explain the code for instant ngp, in particular, any pytorch implementation of it like kwea's? Thanks a lot in advance.
Hi, thank you for your comment. I plan to release a video about implementing it from scratch in the near future.
Thankyou so much! Eagerly waiting!
Thank you so much for the great video! Do you have any plans to make a 100 lines of PyTorch code video about instant-ngp?
Thank you for your comment! Yes, this is something I am working one. This will be one of my next videos when the code is ready
@@papersin100linesofcode This is truly amazing! Looking forward to a great video
I am planning to buy your course, but will i be able to generate the mesh from the capture!?
Hi, thank you for your question. Unfortunately, not in high quality. We discuss the ray marching algorithm and use it to extract a mesh from NeRF. However, the mesh is not high quality, and does not possess colours. If you want a coarse mesh, that is fine, but if you have high expectations on the quality of the mesh, and need colours, then you would need more advances algorithms than the ones used in the course.
thank you very much! I learn the point of nerf from your vidio
Glad to hear it, thank you! :)
I am interested in researching single-shot NeRF recreations through an internship. Would the best way to contact you be through the email in the video description or do you have another preferred method?
Hi @OgJail, thank you for your interest. Yes, the email from the description is great
@@papersin100linesofcode Hello, it has been about two weeks since I’ve sent an email asking for more information about this opportunity. Is it still open?
@@papersin100linesofcodeI had emailed you two weeks ago but have not yet received a response. Is the position still open?
Can you do a video on 3D gaussian splatting?
Thank you for your question. Yes, that is coming! :)
@@papersin100linesofcode looking forward to it :)
I just have a question, which code color theme you use in the video
Thank you for your question and excuse me for the delayed answer. Are you talking about the sublime text color theme? If yes, to the best of my knowledge, these are the default colors.
Thank you! It's getting clearer in my mind now. Untl now I always coded games based on probabilities and randomisation. You gave me what I needed to grow
Thank you!
Thank you!
Good content 👌
Thank you so much!
Great video! Could you tell me how much time it took for the model to train approximately?
Thank you! About 24 hours
More NERF's please, I would love to get a NERF updated in real time in unity if posible. Any idea how i can do that?
More NeRF soon :) By updated in real time, do you mean rendered? If so, you might want to have a look at Volinga.ai.
For what i want to do, I need to dynamicly build a nerf. As new images are being streamed in it keeps updating the nerf kinda like a layzer point cloud. But i'm Not sure if that's posible @@papersin100linesofcode
Nicee
Thank you!
Absolutely great video! Really helped clear up the papers seeing things implemented so straightforwardly. I have a few questions. What type of GPU did you use to train this model? When creating the encoding you initialize your out variable to have the position vector placed in it. (making the output [batch, ((3 * 2) * embedding_pos_dim) + 3] adding that trailing +3) Was there a reason for doing that? I mean adding it surely doesn't hurt. Batching the image creation is also a great idea for smaller gpus. Thanks again for such a great video!
Hi, thank you for your great comment! 1) I should have used a P5000 or RTX5000. 2) I am not sure I understand which line you are referring to?
Niceeeee!!!
Thank you so much!
Hi, I wonder why you have not updated the loss function according to the paper? I see you have used the same function from the original NeRF paper.
Hi, thank you for your comment! I did not add the total variation regularization nor the other regularization proposed in the paper, for simplicity. I would be interested to see the impact on the synthetic data though :)
I understand 10*6 for the pos enc. but why did you add 3 to it? Posencdim*6+3?
Hi, thank you for your question. This is because we concatenate the position to the positional encoding. This is not mentioned in the paper, but done in their implementation.
@@papersin100linesofcode ow. I understand. Thanks a lot
Hi, great work. Could you tell a bit on how did you create the dataset ? I wanna create my own from images. I checked out the blender.py script from @kwea123, it seems to take a json input. Could you explain how it works ? thnx.
How would you add the coarse and fine networks improvement?
Hi, thank you for your comment. I am planning to add a video about it. I hope I can release it in the near future
@@papersin100linesofcode I subscribed, thank you
Your videos are precious, bruh. The only person I've seen lately who actually implement and explain new paper concepts and drives other people to learn as ML engineers. Keep it up.
I am glad to hear that you like them! Thank you so much for your comment!
Is this first order maml or second order maml?
Excuse me for the delayed answer. This is second order because we compute the second order gradients.
@@papersin100linesofcode hey, thanks for the video. Where exactly are the second order gradients calculated? Wouldn't this necessitate create_graph=True in the inner_loop ?
@@thomaswohrle1623 thank you for your question. It is computed on line 75 where the loss depends on theta_prime. For create_graph=True, this is a great question that I would need to investigate.
Excellent explanation, thanks a ton!
For multiple layers, the first weights and biases are set randomly; how do you determine what to use for the next layer's weights and biases {when going forward, not backward)?
Hi, thank you for your question. Maybe you confuse weights and hidden units? All the weights are initialized randomly. Then, the hidden units of the first layer are computer from the weights of the first layer together with the input. Then, those hidden units are used to compute the hidden units of the following layers. I hope it is clear :) Let me know otherwise
@@papersin100linesofcode I know how to compute inputs and outputs as you go on to the next layers; but what weights and biases are used to compute the layers after that? For layer 1, you set them yourself, randomly. I don't see an equation to compute weights for all the layers after that. Are they set to random as well in the initial run, changed later by back optimization Thanks.
@@deeber35 Yes exactly! They are initialized randomly when each layer is iniitalized, and then, updated with backpropagation
That's the thing which i really want to know
I hope you liked the video :)
that seems pretty cool. i will try it! thank you!
Thanks!
Hey I have a smaller question, Nerf takes 5d input, position and view direction, is there s way to get the view direction from a rotation matrix (3x3)?
Hi, thank you for your question. Do you mean the camera to world matrix (c2w)? If so, yes, and actually the direction is already computed from it most of the time. The direction is computed from the camera, using its 3x3 c2w matrix
@@papersin100linesofcode yea can you please tell the formula that is used to get them?
@@aditya-bl5xh you may be interested in this script github.com/kwea123/nerf_pl/blob/master/datasets/ray_utils.py. I will soon make a video about it
@@papersin100linesofcode thanks! Appreciated
Hi, I was wondering why you do not run the NeRF codes and show the results?
Hi, I show the results at the beginning of the video so that you know what results you can expect from the code of the video. I do not run the code because training is taking quite some time.
Hi@@papersin100linesofcode , Thank you for the reply. I was wondering if it is possible to create a video for NeRF applications on smartphone images. Anyway, thank you for your amazing content.
@@zeynolabedinsoleymani4591 yes this is planned! I will show how to reconstruct real-world scenes from phone cameras. I hope it is released in the coming weeks
Thanks for your video, how did you computed the image size for concatening ?
Thank you for your question! For now it was hardcoded so that the size is the same as h, but it would be best to automate it.
bro, appreciate it. but the audio volume is too low.
Thank you for your comment! I will increase it in my next videos