How I Taught Myself Tensorflow in A Month
My journey starts two years before I actually started learning Tensorflow. I’d been interested in AI for a bit before then, but suddenly I was obsessed. Unfortunately, obsessions don’t last long and once I realized that I understood absolutely none of the equations being thrown in my face, I gave up.
Fast forward about two years, and a Brackeys video appeared on my YouTube recommended page. Within a week, I’d decided to jump into game development with Unity. Within a couple of months, my first game was finished. As anyone who’s made a game might guess, it was an overambitious, unpolished mess. Despite how bad it was, it gave me the confidence to dive back into AI.
Why is this important? While I had almost no experience with AI before deciding to just dive in, I did have experience with C# that helped me learn Python. You can learn all this from scratch, but if you’re learning your first programming language to do AI, you should spend at least a week or two getting familiar with it before jumping into Tensorflow (presumably you’ll be learning Python).
The first obstacle I encountered was that I only knew C# and Tensorflow is made for Python. Python and C# are both object-oriented languages, so it was fairly easy to pick up Python. I found freecodecamp.org’s Python in four hours course and learned Python in a weekend. With that out of the way, it was finally time to learn Tensorflow. I’d learned my lesson the first time and, instead of trying to make an AI from scratch using the Wikipedia page, I found a simple (ish) video also by freecodecamp.org. It is a 7-hour long tutorial, but it taught me enough to get started. There was only one problem.
Learning From First Principles
The problem is, the Tensorflow tutorial did a great job of telling me how to do things, but it didn’t explain why we were doing it that way and not some other way. As a consequence of this, I knew how to do a bunch of limited things but I didn’t know how to do anything outside of very narrow areas (sort of like the weak AIs I was making with Tensorflow). I’d read a blog post about learning from first principles, so I decided to implement a dense neural network from scratch — no Numpy, no Tensorflow, nothing.
This is where my journey could’ve ended. I still didn’t understand those equations and if I’d tried to do this based on a Wikipedia page, I probably would’ve given up. Luckily, I found this playlist by The coding train. Since just following along wouldn’t teach me anything, I decided to follow the video but in C# instead of Javascript.
Within a week or two, I had a very very bad C# AI library. The thing is, it worked. By the end of all this, I was barely a Tensorflow beginner, but I knew enough to be able to learn anything I needed to.
Thanks so much for reading! Stay tuned for next week’s article where I’ll use git branches to visualize the history of the major Abrahamic religions.