Week 11: A Trainer Never Quits
June 17, 2024
Welcome back to the last content-driven week of my Senior project! I took the final steps of training the network I constructed in week 10 with the data I collected using the functions I explained in week 9.
NetTrain
Remember how I said that training a network relies on the idea of minimizing loss? Well, loss is outputted by attaching an aptly named LossLayer[] to the end of a function. Luckily, NetTrain[] does this for us automatically. All I have to do is sit back, relax, watch some Pokémon battles to find ones I think will be good to train on, then process them and feed them into the network. I had to iron out some kinks in the data extraction process, but everything went surprisingly smoothly! I’ll publish it next week, but I finally have a working prototype.
It feels so weird to be done- looking back, I realize how easy this project would be with what I know now. But I think that’s the point. This Pokémon classifier function isn’t going to change the world. At best, it’ll make competitive Pokémon more accessible to a wider audience. Rather, I really valued learning firsthand the workflow in a larger research project like this. Making mistakes and learning is, in my opinion, the real treasure of the senior project.
Next week, I’ll do a larger retrospective piece on the project. I’m also going to present a child-friendly version at the BASIS Independent Brooklyn Lower School to get the young’uns hyped for high school! Until then, I recommend checking out replay.pokemonshowdown.com and watching some battles to see with your own eyes how battles work, and maybe even trying out your own battles on play.pokemonshowdown.com. Smell ya later!
-Alex R.
Leave a Reply
You must be logged in to post a comment.