Many tasks are impossible to solve without machine learning. But let's take a step back for a moment, and see how we would classify these images without a machine learning model. If we were to write an algorithm, to classify these images, probably a series of "if" statements. What are some things we might look for? If you thought about color, you're on the right track. We could look at the color of the pixels in the image. If the majority of the pixels in the image are red, we would output apple as the classification. If the majority of the pixels were orange, we would output orange. This would work really well in this example. But what if the images were varied slightly? What if we had grayscale images? Then we would need to look for a different feature, maybe the presence of a stem or the texture of the image. We'd need to start writing our algorithm again to output accurate classification for these images. What if we got crazy and added a third fruit to the equation? What if we added a mango? You get the idea that we'd have to start our classification algorithm all over again. But these images are all pretty similar, they're all circular, they're all fruits. If we had two images that we wanted to classify, that looks nothing alike, the classification task should be pretty simple. What if we had images of a dog, and images of a mop? This should be really easy to classify. The dog is living and breathing, the mop has no eyes, nose, or a mouth. This should be a relatively easy classification task. But you'll find that this is actually pretty difficult. Here we have four photos of Sheepdogs, and four photos of mops. It's hard even for the human eye to distinguish between the two. You get the idea, we don't want to write specific code, to identify every possible type of thing we might see in our images. Instead we want to write code that will find these rules for us. We might not just have images, we might have other types of unstructured data, that we want to classify as well. What I want to talk about today, is two ways that Google Cloud Platform can help you add Machine learning to your applications. On the left-hand side, we have tools to help you build custom machine-learning models. Tensorflow is an open source library, provided by the Google Brain team, that lets you build and train your own machine learning models, using your own data. If you want to run tensorflow models on managed Google infrastructure, we have a tool called Cloud Machine Learning Engine to help with that. What I want to focus on today is the right-hand side, and this is what I like to call friendly machine learning. These are a set of pre-trained APIs that give you access to pre-trained machine learning models, with a single REST API request. I'm going to be talking about each of the APIs in detail, along with some live demos.