Finishing the Treehouse Python Track | 100 Days of Code 13

Daniel Bourke finishes the Treehouse Python track during days 62-74 of his 100 Days of Code challenge, covering regular expressions and databases. He's also working through Udacity's Deep Learning Nanodegree on GANs and semi-supervised learning, while building projects like AnyGym and writing daily on Medium.
Chapters
Yo! Day 62 of the 100 Days of Code series. I was learning about Python today. I woke up this morning and realized that I was supposed to be spending the day with my brother. I forgot. That's completely my fault. I should be more on top of these things. That's alright. I helped him build a resume. I helped him apply for some jobs because he's in his final year of high school and he's starting to get into the, into the real world, the real world kind of things. And I was just helping him with learn some things like building a resume and applying for jobs and stuff. They— I think they should, they should really be teaching this stuff in school, but oh well, you do what you can. But otherwise, yeah, I was learning a bit of Python, only a little bit though. I didn't spend as much time studying today as I would have liked, but that's okay. I'll be back into it tomorrow. I fixed up a whole bunch of email stuff, replying to some questions I got on Quora. You can check out my Quora profile in the description actually. I write a lot there about fitness and nutrition, just stuff that I've learned. I don't really write anything that I haven't tried myself, so it's just me relaying my experience. I also donated blood. You can't see because my arm is in a sleeve right now, but I've got, I don't know, some bandages around my arm. If you've never donated blood before, I highly recommend it. You'll— it takes 5-10 minutes of your time. Depending on where you're donating it, and you have the potential to save 3 lives. Well, at least that's the case in my country. As for tomorrow, it's going to be all about Python again. As I said, I finished the machine learning course on Coursera, and I'm really trying to get on top of Python syntax because Python is the language of machine learning, of data science and whatnot. And yeah, I also updated my Medium series. It's completely up to date now, up to day 62. So if you check it out, that'll be in the description as well. But we'll check in tomorrow, more Python study. I'm gonna continue the track that I'm doing on Treehouse. I'll try and finish it tomorrow so then I can move on to something new. So I've begun learning about databases in Python. I finished the Python regular expressions track, or sorry, course, the Python regular expressions course on Treehouse today, which is a part of the Python track that I'm doing. And this is the second last module of the Python track. It's Database in Python. And I'm extremely excited because I can see where this is going to. This is starting, I'm starting to learn about SQL, which is SQL or something like that, which is a database language, which eventually can be used to create databases. And a database is, to me, I just sort of thought of a quick analogy, it's essentially just a table, right? I, well, I didn't think of it, I learnt it. And I've always thought of it as, far complex than just that, rather than just being something simple like a table. And a database can be like a group of usernames and passwords of people who are using your app, uh, contact details, names, uh, you name it. Everything can go into a database of sorts. And the reason why I'm excited is because I can see myself using this sort of technology in the future, uh, along with the other stuff that I'm learning. And so Once you sort of get on that path, it's a long way, but once you sort of hit these little milestones of learning where you can apply this stuff, then it's really fun. By the way, it's day 63. I've been doing Python all day. I'm about to finish 6 Pomodoros and then gonna wrap it up actually after I finish this clip and head off to jiu-jitsu. It's my second night doing it. The first night was amazing. Got a few cuts and scratches all over my body, but it was good fun. Highly recommend anyone trying it. Try and get out if you've thought about it before. Brazilian jiu-jitsu, find a local place to do it. Um, it's really cool. But we'll catch you tomorrow. I'm going to be working on, uh, some of my projects, AnyGym, and potentially MoveMore, but most likely just AnyGym. See you then. The article is officially live. How I'm Learning Deep Learning in 2017, Part 3. Got Part 1 and 2 linked there. It's a fairly extensive post, about 20-minute read or so, but you can get most of out of it, like most of everything done in this little 10-second summary I've done here. What is up, y'all? It's day 64 of the 100 Days of Code series. I spent most of today writing that article as well as working on my startup with my little brother. That was some good fun. And then I just recorded a podcast which is getting uploaded now. So I'll link everything I just chatted about in the description. Otherwise, tomorrow I'm going to be planning out the next week of study and whatnot. I'm going to be learning more Python, more of the deep learning course, and then of course more reading and more— and I was going to say more Python, always more Python. More preparing for, for what's next after the Udacity deep learning Nanodegree. I think I'm going to enrol in the AI Nanodegree through Udacity because I get entry into that. Um, but everything's still up in the air at the moment. I need to make some concrete steps to go in the future. But everything will be linked in the Trello board that I'm studying deep learning on. I'll put that in the description as well. Uh, as well as you'll be hit up, uh, with these vlogs every week or so. And the Medium series will keep going until the end of 100 days. And after that, I'll finish the 100 Days of Code series. And I'm thinking way too ahead, far in the future. But tomorrow, a bit more learning, and yeah, we'll see you in the next few clips. I just finished updating my 100 Days of Code series on medium.com. You can check it out. I'll make sure to link it in the description. It's a little— I write about a 1-minute blog post, uh, maybe less, every day, um, just to summarize what I've learned, mostly to sort of re-cement it in my own head as well as, I don't know, just put it out to the world. So if one, if someone ever wants to know how I went about learning all this stuff, uh, then it's got a record there for it. But otherwise, what have I been learning about today? Semi-supervised learning. Check it out. So semi-supervised learning is one of the newest implementations in the world of deep learning in terms of using a small amount of labeled data to, to solve bigger problems, right? So in terms of the, when what's it called, the house number dataset, so SVHN dataset. You can use semi-supervised learning to learn how to label house data, sorry, house numbers with only a small amount of them actually labeled. So think about it, if you're a human being, if we go into an environment, we don't necessarily get given all of the labeled data like in this room, like in this room, If I walked into it, I don't get told what everything is. I sort of just have to work it out myself. I might get told what a few things are and then work out the rest of it. That's the whole idea with semi-supervised learning is that using GANs, so generative adversarial networks, you have a small amount of labeled data, and then the discriminator part of the generative adversarial network, the GANs, discriminator will be used eventually as a classifier network. So you have a small amount of labeled data, and then the GAN network works out how to— I know, how to label the rest of the data. So say for example we had 10,000 images of house numbers, we knew the numbers of 1,000 of them. Using a GAN, you can sort of go over that 1,000 1,000 labeled dataset and then use what it's learned on that to sort of guess the rest of it. So that's semi-supervised learning rather than sort of a supervised learning set where you have all of them labeled, the 10,000 labeled, and then it'll model that, that 10,000. So you're modeling a small portion of it and then working out the rest of them. And now that explanation probably wasn't the best is because I've literally just started learning about it today. Probably one of the most complicated modules I've, I've learnt to date yet. If we go into here, here's some code. I didn't write all this, of course. This was provided by Ian Goodfellow, but slowly but surely learning. I know it's new, so I know it's going to be complicated. I'm going to keep recording. I'll record tomorrow, actually, once I've learned some more about this. Hopefully the explanation's a bit better, but as with anything, you just got to keep going, keep learning, keep practicing. But I'm gonna go do some pull-ups before going to play dodgeball tonight, and then I'll get back into studying about semi-supervised models tomorrow. Yo! Day 69 of the 100 Days of Code series. I left this video clip way too late. It's like quarter to 11 where I am, and it's my bedtime. But I'm doing some writing in bed. I disassembled my bed frame this morning because I didn't record yesterday because I've had an incredibly sore neck and shoulder. I think it was because I did a massive workout before going to dodgeball on Monday. Um, but nonetheless, I've been learning about Python and, uh, semi-supervised— semi-supervised learning. Yeah, that's right, in the Deep Learning Nanodegree. Um, that was Tuesday, I finished that module. And then started the Intro to Data Science module on Udacity. And it got me really excited because I'm starting to work on actual projects. Like, well, hold on, I've been working on projects the whole time, but projects that are a little bit more entry-level to programming so I could understand them better. And recently in Python, I've been learning about how to access databases, which is getting me excited because I'm starting to sort of think about how I can use this, like SQL databases and whatnot to build applications and build out my ideas. But nonetheless, I'm gonna try and finish the, I keep saying nonetheless a lot. I'm gonna try and finish the Python track tomorrow. That'll be my goal. So I'll check in with you then, probably at the end of the day, and hopefully I finished it by then. Day 70 of the 100 Days of Code series. It's so dark in here. I've been studying too long. Let me get some lights on. Alright, so what have you been up to today? Python, learning all about Python. It is, what is it? Thursday, the 20th of July, 2017, day 70. But it's been all about Python yesterday and today. And guess what, guys? I did it, I finished it. I finally finished the Python track on Treehouse. I'll link it in the description, but I worked through it. Took a lot longer than what I initially thought it would, just because I haven't, I wasn't focusing solely on that. I was sort of learning bits and pieces here and there, but exciting times. I've just learned about databases and unit tests and testing you can do in Python. And I feel like I've got a good fundamental knowledge of the language now, and I can sort of expand on that. And that's a good question. What is next? Well, I've been looking at DataCamp and their Python track on there. So I can sort of take the knowledge I've learned on Treehouse and expand it in more of a data science terms or sense of view using DataCamp. But I'm not entirely sure yet. As for the rest of today, I'm not sure. I've got some decisions to make and I've got some planning to do about where I'm gonna spend my time next. I've still got about 2 to 3 weeks left of the Udacity deep learning course. And then all the courses I've enrolled in over the past, I don't know, 100 days or 70 days of the 100 Days of Code series, will be complete. So I've got to sort of, I don't know, rework and replan my, my learning. Um, but I'll hit you up when it's finished. Otherwise, check out Treehouse. I found it a phenomenal resource to learn, um, some fundamental things about programming, coding. And they haven't just got Python, they've got literally every language you can imagine. And I'm excited to learn more, but I've got to go tell my friends how much Python I know and I'll be back tomorrow. Hey yo, day 74 of the 100 Days of Code series, aka 24th of July, 2017. I just finished gym and I forgot to record a clip earlier today, so I'm going to do it now. It's my brother's birthday, so shout out to my brother. Happy 22nd birthday, Will. What have I been learning today? I went over some semi-supervised learning with GANs that I was studying last week on Udacity, just because it's my last module of the Udacity Deep Learning Nanodegree Foundations series, and I've got the assignment which is due on April 3rd, so I'll keep you up to date with what I, what I do for that. The assignment is actually to generate faces using a GAN, a generative adversarial network, which is absolutely awesome. But as for today, I was using GANs to train a semi-supervised network, which semi-supervised means not all of the data is labeled. And what I'm showing you here is different epochs of what the generator network of the GAN would create of the Street View house numbers dataset. So you can sort of make out that these are numbers here. So that's a 1, a 5. Let's go down to one of the later epochs. So an 8, another 5, another 8, 5, lots of 5s, 8s, 1s, and whatnot. But the goal of using semi-supervised learning is to, rather than having a massive labeled dataset, which is going to be hard to come by sort of all the time, right? It's good, fair enough, you have a labeled dataset, but human beings, we don't usually have a massive labeled dataset when we learn. And so the idea of semi-supervised learning using a GAN is to use the generator network to produce fake images so that the discriminator network has more images to train on rather than just using an entirely labeled dataset. So of course you use a little bit of real data, a little bit of real unlabeled data, and then the generator networks creates completely fake images or new images, and the discriminator network then has more data to train off. And that's the whole idea of semi-supervised learning with GANs. Um, what else was I doing today? I was working on a bit more of the Udacity Intro to Data Science course, um, because once I finish the sort of the Deep Learning Nanodegree, I'm going to be creating my own data science master's degree. So just getting my head around data science and whatnot, and it's, it's going awesome. But that's a wrap-up for today. Tomorrow I'm going to be trying to fix up my GitHub and going to start work on the latest Udacity sort of my last assignment in the Deep Learning Undergraduate Foundations course. So we'll see you then.
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


