GENERATING FACES WITH GANs | 100 Days of Code 14

Daniel Bourke builds a DCGAN that generates fake celebrity faces from 300 images as his Udacity capstone project. He walks through the six required functions, shows the generator improving over training epochs, and submits the project successfully. He's also working on AnyGym with his brother and planning his next AI learning goals.
Chapters
Whoa! Generate faces. What is this? The last project of the Udacity Deep Learning Nanodegree. Sup y'all! It's day 75 of the 100 Days of Code series, aka 25th of July 2017, and I've just sort of started planning, or started today work on planning, uh, the outline for my final project for the Deep Learning Nanodegree, which is exciting. I've got till August 3rd to submit it, so That's about what, 8 days from now? 9 days maybe? But I've taken a different approach to this time. So the last few projects, I'd go through it and just start, start trying to hammer it out, start trying to do it step by step. And if I'm a bit sweaty, by the way, it's just because I just finished gym. But I just tried to jump into it without planning. For this one, I've taken a much different approach. I've spent almost, I don't know, 2 hours today just planning out what I'm going to do for each step. And I found already I'm starting to understand what each step does a lot more rather than, um, sort of just diving in and taking it one thing at a time. The last few projects I didn't really understand what was going on. But check it out. So I've got what's required for the project, just 6 functions to do overall, and then I've broken it down into each function and some examples of what the function may look like. From previous lessons and then step-by-step guides of, well, step-by-step points of what to implement next. So I feel like I'm already in a much better position. I've got to use GANs, uh, generative adversarial networks, to generate, uh, completely new faces from a dataset of celebrity faces. So that's going to be really cool, and I'll make sure you see the output when it's done. And also this morning, I managed to fix up my GitHub account, so it's all good. You can now check it out. It's github.com/mrdburke. M-R-D-B-U-R-K-E. I'll link it down in the description. You can see all of my previous projects from the Udacity deep learning nanodegree there as well, and they'll be on my GitHub as well. So that's it. Tomorrow I'm doing some work experience with my brother, but I'll do maybe a little bit of Python coding as well, but we'll see what's up. Catch you then. Day 77. What's going on? Sup y'all? Sorry, I forgot to record yesterday. It was day 76, but today, well, yesterday and today I've done virtually the same thing. I've been working on planning my next few months of study. Now I'm going to finish the Deep Learning Nanodegree Foundations within the next week or so. So I figured I best have a plan for the next few months, or at least at the end of this year of studying and sort of what I want to learn and what my goals are and things like that. So yeah, I kind of dived into the previous course that I did with little to no plan, but now I've got some understanding of where I want things to go. So I'll show you what I've been working on. So it's not finished yet, and my screen is incredibly orange because of Flux, but essentially we got here. I just started with why, 10 reasons why I wanted to learn about AI and data science. I've called it Data Science Master's Program 'cause that's virtually what AI is at the moment, a whole bunch of data analyzation. So we've got some fundamentals here, learning the basics. Gonna learn a whole bunch of stuff with Khan Academy in terms of maths. Data science, got a whole bunch of courses here noted down. Now this isn't step-by-step. As I said, it isn't finished, but I've got some introductory stuff. I've got some high-level stuff, which is the artificial intelligence nano degree that I've applied for for Udacity. So Hopefully I get in. I should get in because I'm finishing the Deep Learning Nanodegree Foundations. I really want to learn this stuff because I think that's where tech's going, and I want to use this knowledge that I'm learning it to, to build projects, to work on things, or potentially work for a startup somewhere overseas maybe, or wherever. And that's, yeah, that's it in a nutshell. That's the main reason why is because I think that's, I think these technologies have the power to help a lot of people, and really because I'm just fascinated by them. Like that, if that's— I think that's a really important factor in learning anything. You have to be excited by it and this stuff excites me. So, that's why I'm learning it. I haven't fully finished out my plan yet, but once I have, I'll write a blog post about it and I'll share it with you guys. But you'll be following me along on the journey anyway. So, we'll see you then. That's the end of day 27. Actually, it's day 77, the 27th of July, 2017. We'll see you tomorrow. If not, I'll see you in a couple of days. Well, I'll see you in the next clip. Let's leave it at that. Heyo! Day 79 of the 100 Days of Code series. So today I've spent the morning with my little brother working on our startup. It is Saturday the 29th of June— uh, July 2017. Um, here we go here. We've got AnyGym. useanygym.com. We've been adding some facilities to the website. Manually, so to update our database. So right now we've got about, I'd say, 25 fitness facilities on there. And what the goal is for the time being is to make a directory of all the fitness facilities in Brisbane and then eventually add accessibility to those in the future. And we've got a few other things in the pipeline, but at the moment our goal is to just create, uh, yeah, an online directory, directory of fitness facilities in our local area and then expand in the future. Also, Vlog 13 is about to drop. Just finished uploading. So, I know this will be like Vlog 14 or 15 or something like that, but check it out. I got a whole bunch of other videos with all the stuff I've been learning. For the rest of today, I'm gonna go out and do some driving. I've been driving with Uber lately. Good way to get some quick money. And then I'm gonna come home and go out for dinner, I think, with my little brother for his birthday. We're going to Korean barbecue. I'm excited. So I'm working on Project 5 of the Udacity Deep Learning Foundations Nanodegree, and check this out. So this is what it started with. I'm building a DCGAN to generate faces off a dataset of celebrity faces, and it starts to improve, getting better and better at creating faces. Look at that. That's a bit crazy, actually. And it comes down, and then it finishes, check this out, you can sort of decipher them as faces. Like there, there, there. They all sort of look like faces. But humans are really good at finding faces in inanimate objects. But this has been a really fun project. I'm building a DCGAN, so a deep convolutional generative adversarial network, to essentially generate new faces from from, well, completely new faces from a dataset of around 300 faces of celebrities. So, what it would do is the generator network would create completely new faces and the discriminator would try to say whether they're good or bad. And then the generator would get better and better and better over time at generating new faces. And that's why it starts at just a blank canvas like you saw before, and then ends up looking somewhat like some faces. But I just submitted the project. I think I'm going to get, going to get knocked back because I think my model can be improved a bit. But I submitted it with some questions for the reviewer to give me some feedback so I can implement it and understand it more. I'm just at a bit of a loss as to how I can improve it to make it a bit better. I think it's somewhere in the generator network. I can improve that a bit. But this is my final project. Exciting. I thought it would take me a lot longer than what it did. But I had a lot of help from the forums and the Slack channel and whatnot. So shout out to you guys. Thank you so much. But in the meantime, I'm going to go get some food. I just had a workout. Wait for the Udacity reviewer to review my submission and so I can implement the feedback and then I'll be graduated. That's crazy. We'll catch you in the next clip. What's up, y'all? Day 82 of the 100 Days of Code series, AKA 1st of August. So happy August to everyone who's watching. Guess what? I just finished my final project for the Udacity Deep Learning Nanodegree. Check it out. We passed. Meet specifications. Look at the final result. Generating faces using DCGANs. Now you probably can't see them very well, but they're pixelated. After one epoch, this is what my neural network generated. Completely new faces from a celebrity dataset of 300 images. So I'm stoked. I gotta see what's next. I'm gonna get a graduation email soon, but I'll, uh, well, in the next week or so, I'm guessing. I don't entirely know. Um, and then see if I get accepted into the AI Nanodegree. But we'll keep you along the ride. And guess what? I've got like no, no courses that I'm currently fully enrolled in at the moment. So I'm gonna be full-time back to planning what I'm doing next in terms of learning and studying and building. Uh, gonna be working hopefully on some cool projects, so you'll be with me the whole way. I'll hit you up when I find out more.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


