Two weeks into the machine learning nanodegree, and I'm two weeks ahead already; so far, this is going better than the AIND did.
What didn't go so well was my first foray into Kaggle. I found an interesting
that, it turns out, I have no idea how to solve. More on that. As a teaser,
I did the Tensorflow MNIST tutorial including the deep learning version; I
have no idea what's going on in the DL version, but I do have a trained model.
The problem I ran into here is how to import the Kaggle test data (from a CSV)
into Tensorflow and use my model to make predictions. This is a theme: how to
read data and get something useful out of it. I did get the Statoil training
data loaded, though, using Pandas'
read_json—it did just what it said
it would do.
Promisingly, though, I was able to verify that TF is using the GPU on both carbon and tessier. I think the MNIST training took about four minutes on tessier, which is much faster than the 20-30 minutes the tutorial said it would take.
So there's three main problems I'm facing right now:
- How do I import datasets into a format recognised by whatever library or system I'm using? I feel like this is going to be important, as it's been sort of harped on in the class that data representation is one of the big challenges in solving ML problems.
- How do I make a prediction with an existing model? I know how to do this in sklearn, or at least I know how to figure it out now. For Tensorflow, I still don't know. What makes reading the docs difficult is that I don't have any real background in neural networks. The unit from the class was light in detail and the NN miniproject was mostly matrix math that I solved using octave.
- How do I handle the case where one (or two, in this case) of my features are actually an array of data? One idea I have it is to turn them both into byte strings, but I'm not sure if that will work, I think pretty much everything I know how to do uses numeric input. This is related to #1 in that they're both representation questions, I think.
These three things seem like they'll be good problems to tackle: representation is something I'll have to figure out for each new project, and then actually using that data is the whole reason for doing this.
Unrelated, but I started working on the robot sensor mount Friday night. When I dragged the printer in on Saturday, it wasn't connecting. I suspect the USB connector has come loose, but I haven't been able to open the enclosure. I need to drill out some stripped bolts, but I couldn't find my Dremel (how does that disappear?); sometime this week, I need to go pick up a drill bit set for the power drill.