Intro to machine learning on Google Cloud Platform (Google I/O '18)



hello everyone welcome to intro to machine learning on Google cloud platform my name is Sarah Robinson I'm a developing developer advocate on the Google cloud platform team and I focus on machine learning you can find me on twitter at s robb tweets so let's dive right in by talking about what is machine learning so at a high level machine learning involves teaching computers to recognize patterns in the same way that our brains do so as humans it's really easy for us to distinguish between a cat and a dog but it's much more difficult to teach a machine to be able to do the same thing in this talk I'm going to focus on what's called supervised learning this is when during training you give your model labeled input and we can think of almost any supervised learning problem in this way so we provide labeled inputs to our model and then our model outputs a prediction now the amount that we know about how our model works is going to depend on the tool we choose to use for the job and the type of machine learning problem we're trying to solve so that was a high-level overview but how do we actually get from input to description again this is going to depend on the type of machine learning problem we're trying to solve so on the left hand side let's say you're solving a generic task but someone has already solved before in that case you don't need to start from scratch but on the other side of the spectrum let's say you're solving a custom task that's very specific to your data set then you're going to need to build and train your own model from scratch so more specifically let's think of this in terms of image classification so let's say we want to label this image as a picture of a cat this is a really common machine learning task there's tons of models out there that exist to help us label images so we can use one of these pre trained models we don't need to start from scratch but let's say on the other hand that this cat's name is Chloe this is our cat and we want to identify her apart from other cats across our entire image library so we're gonna need to train a model using our own data from scratch so that it differentiate Chloe from other cats more specifically let's say that we want our model to return a bounding box showing where she is in that picture we're also gonna need to train a model on our own data let's also think about this in terms of a natural language processing problem so let's say we have this text from one of my tweets and I want to extract the parts of speech from that text this is a really common natural language processing task so I don't need to start from scratch I can utilize an existing NLP model to help me do this but let's say on the other hand that I want to take the same tweet and I want my model to output these tags I want my model to know that this is a tweet about programming and more specifically it's a tweet about Google Cloud I'm gonna need to train my model on thousands of tweets about each of these things so that it can generate these predictions so many people see the term machine learning and they're a little bit scared off they think it's something that's only for experts now if we look back about 60 years ago this was definitely the case this is a picture of the first neural network invented in 1957 called the perceptron and this was a device that demonstrated an ability to identify different shapes so back then if you wanted to work on machine learning you needed access to extensive academic and computing resources but if we fast forward to today we can see that just in the last five or ten years the number of products at Google that are using machine learning has grown dramatically and at Google we want to put machine learning into the hands of any developer and data scientists with a computer and a machine learning problem that they want to solve that's all of you we don't think machine learning should be something only for experts so if you think about how you're doing machine learning today maybe you're using a framework like scikit-learn XG booze chaos or tensor flow maybe you're writing your code in Jupiter notebooks maybe you're just experimenting with different types of models building proofs of concept or maybe you've already built a model and you're working on scaling it for production so what I want you to take away from this talk is that no matter what your existing machine learning toolkit is we've got something to help you on Google cloud platform and that's what I'm going to talk to you about today so we have a whole spectrum of machine learning products on GCP on the left hand side we have products targeted towards application developers to use these you need little to no machine learning experience on the right hand side of the spectrum we have products that are targeted more towards data scientists and machine learning practitioners so the first set of products I'll talk about is our machine learning api's these are api's that give you access to pre trained models with a single REST API request as we move toward the middle we have a new product which I'm super excited about that we announced earlier this year in January called Auto ml it's currently in alpha and the first Auto ml products we've announced is Auto ml vision so this lets you build a custom image classification model train on your own data without requiring you to write any of the model code as we move further to the right towards more custom models if you want to build your modern model and tensorflow we have a service called cloud machine learning engine to let you train and serve your model at scale then a couple of months ago we announced an open-source project called Kubb flow this lets you run your machine learning workloads on kubernetes and then finally our most do-it-yourself solution is let's say you have a machine learning framework other than tensorflow and you want to run it on GCP you can do this using google compute engine or google kubernetes engine but we don't have tons of time today so we're gonna focus just on three of these and let's dive right in starting with machine learning as an API on Google cloud platform we have five api's that give you access to pre trained models to accomplish common machine learning tasks so they let you do things like analyzing images analyzing videos converting audio to text analyzing that text further and then translating that text I'm going to show you just two of them today so let's start with cloud vision this is everything the vision API lets you do so at its core the vision aid gie provides label detection this will tell you what is this a picture of so for this image of my return elephant animal etc web detection goes one step further and it'll search the web for similar images and it'll give you labels based on what it finds OCR stands for optical character recognition this will let you find text in your images tells you where that text is and what language it's in logo detection will identify common logos in an image landmark detection will find common landmarks crop hints will suggest crop dimensions for your photos and then explicit content detection will tell you is this image appropriate or not this is what a request to the vision API looks like so again you don't need to know anything about how that pre-trained model works under the hood you pass it either a URL to your image in Google Cloud storage or just the base64 encoded image and then you tell it what types of feature detection you want to run now it's just a REST API so you can call it in any language you'd like I have an example in Python here using our Google Cloud client library for Python I create an image annotate our client and then I run label detection and analyze the response I'm guessing many of you heard about ml kit announced a couple days ago so if you want to use ml kit for firebase you can easily call the vision API from your Android or iOS app and this is an example of calling it in Swift so I don't like to get too far into a talk without showing a live demo so if we could switch to the demo and what we have here is the product page for the vision API here we can upload images and see what the vision API response so I'm gonna upload an image here this is a selfie that I took seeing Hamilton I live in New York I was super excited to have scored tickets to Hamilton and I wanted to see what the vision API said about my selfie so let's see what we get back here it's cranking live demos you never know how they'll go there we go ok so we can see that it found my face in the image so it's able to identify where my faces different features in my face and it's also able to detect emotion so we can see that joy is very lie here I was super excited to be seeing Hamilton what I didn't notice at first about this image is that it has some text in it when I send it to the vision API I didn't even notice that there is text here but we can see that the API using OCR is able to extract that playbill text from my image and then finally in the browser we can see the entire JSON response we get back from the vision API so this is a great way to try out the API if before you start writing any code upload your images in the browser see the type of response you get back and if it's right for your app and I'll provide a link to this at the end so that is the vision API if we could go back to the slides next I'm going to talk about the natural language API which lets you analyze text with a single REST API requests so the first thing it lets you do is extract key entities from text it also lets you tells you whether your text is positive or negative and then if you want to get more into the linguistic details of your text you can use the syntax analysis method and finally the newest feature of this API is content classification it'll classify your texts into many of over 700 different categories that we have available here's some Python code to call the natural language API it's gonna look pretty similar to the vision API code we saw on the previous page and again we don't need to know anything about how this model works we just send it our text and get back the result from the model now let's jump to a demo of the natural language API so again this is our product page for the natural language API and here we can enter text directly in this text box and see what the natural language API response so I'm gonna say I loved Google i/o but the ml talk was just okay we'll see what it says this is a review I might find on a session and let's say that I didn't want to go through all the sessions but I wanted to extract key entities and see what the sentiment was so we can see here it's extracted two entities Google i/o and ml talk and we get a score for each entity the score is a value from negative one to one that'll tell us overall how positive or negative is a sentiment in us and so Google i/o got 0.8 almost fully positive we even get a link to the Wikipedia page for Google i/o and then ml talk got a neutral score right in the middle of zero because it was just okay we also get the aggregate sentiment for this sentence and we can also look at the syntax in details see which words depend on other words get the parts of speech for all the words in our text and then if our text was longer than 20 words we could make use of this content categorization feature which you can also try right in the browser and you can see a list of all the categories that are available for that so that is the natural language API if we could go back to the slides so I'm gonna talk briefly about some companies that are using these api's in production giffy is a website that lets you search for gifts and share them across the web they use the vision api's optical character recognition feature to add search by text functionality to all their gifts so as you know lots of gifts have text in them before they use the vision API you you couldn't search by text and now they've dramatically increased the accuracy of their search results Hurst is a large publishing company and they're using the natural language api's content categorization method across over 30 of their media properties to categorize their news articles descript is a new app that lets you transcribe meetings and interviews and they're using the speech API for that transcription so all of these three companies are using just one API we also seen a lot of examples of companies combining different machine learning api's so seen it is a crowdsource video platform they've got thousands of videos uploaded daily so they have no time to manually tag those videos so using a combination of video intelligence vision speech and natural language to automatically tag all that video content that they're seeing on the platform Maslow is a new mobile app it's an audio journaling app so you can enter your journal entries through audio and they're using the speech API to transcribe that audio and then they're using the natural language API to extract key entities give you some insights your journal entries and they're doing all that processing with cloud functions and storing the data in fire store so that is the natural language API so all of the products I've talked about so far haven't had abstracted that model for you and a lot of times when I present on the API as people ask me those API sound great but what if I want to train them on my own custom data so we have this new product that I mentioned called Auto ml vision it's currently an alpha so you need to be whitelisted to use it this lets you train an image classification model on your own image data and this is best seen with a demo so I'm going to introduce it first so for this demo let's say that I am a meteorologist maybe I work at a weather company and I want to predict weather trends and flight plans from images of clouds so the obvious next question is can we use the cloud to analyze clouds and as I've learned there's many many different types of clouds and they all indicate different weather patterns so when I first started thinking about this demo I thought maybe I should try the vision API first and see what I get back so as humans if you look at these two images it's pretty obvious to us that these are completely different types of clouds the vision API we wouldn't expect it to know specifically what type of cloud these images are it was trained across a wide variety of images to recognize all sorts of different products categories but nothing as specific as this cloud types for these images so you can see even for these images of obviously different clouds we get back pretty similar labels the sky cloud blue etc so this is where auto ml vision comes in really handy Auto ml vision provides a UI to help us with every step of training our machine learning model from importing the data labeling it training it and then generating predictions using a REST API so the best way to see it is by again jumping to a demo so here we have the UI for auto ml vision again it takes us through every step of building our model first up here is importing our data to do that we put our data in Google Cloud Storage we put our images in Google Cloud storage and then we just create a CSV where the first column and the CSV is going to be the URL of our image and in the next column will be the label or labels associated with that image one image can have multiple labels so then we upload our images here I've already done that for this example then we move over to the labeling tab and in this model I've got five different types of clouds that I'm classifying you can see them here and we can see how many images I have for each one Auto ml vision only requires 10 images per label to start training they recommend at least a hundred for high quality predictions so the next step is to review my image labels so I can see all my cloud pictures here I can see what label they are if this one was incorrect I could go in here and switch it out well let's say that I didn't have time to label my dataset or I have a massive image dataset I don't have time to label it I can make use of this human labeling service which gives you access to a set of in-house human labelers that will label your images for you and then in just a couple of days you'll get back a labeled image data set so the next part once you've got your labeled images is to train your model and you can choose between a base or advanced model I'll talk about that more in a moment and to Train it all you do is press this train train button it's as simple as that once your models trained you'll get an email and the next thing you want to do is you want to see how this model performed using some common machine learning metrics so I'm not going to go into all of them here but I do want to highlight the confusion matrix so if it looks confusing it's called a confusion matrix but let's take a look at what it means so for a good confusion matrix what we ideally want to see is a strong diagonal from the top left so what this is telling us is when we uploaded our images Auto ml it automatically split our images for us into training and testing so it took most of our images use those to train the model and then it reserved a subset of our images see how the model performed on images that I had never seen before so what this is telling us is that for all of our altocumulus cloud images in our test set our model is able to identify 76% of them correctly which is pretty good now on the train tab you saw the base and advanced models and I've actually trained both so we're looking at the advanced model here I can use the UI to see how different versions of my model performed and compare it so we would expect that the advanced model would perform better across the board so let's take a look so it looks like it did indeed perform a lot better for most all of the categories here and see a 23% increase for this one 11% for this one but hey wait if we look at our altostratus images looks like our advanced model actually did worse on that what this is actually pointing out is that there may be some problems with our training images here so the advanced model has done a better job of identifying where there is potentially problems with our training dataset because remember our model is only as good as a training data that we give it so if you look here we see that 14% of our altostratus clouds are being mislabeled as cumulus clouds and if I click on this I can look and see where my models getting confused and it turns out that these are images that I could have potentially labeled incorrectly I'm not an expert on actual clouds some of these images have multiple types of clouds in them so they actually are pretty confusing images so what the confusion matrix can help me do is identify where I need to go back and improve my training data so that's the evaluate tab the next part the most fun part in my opinion is generating predictions on new data so I'm going to take this image of a cirrus cloud and we're gonna see what our model predicts again it has never seen this image before it wasn't used during training and we'll see how it performs there we go so we can see that our model is 99 percent confident this is a cirrus cloud which is pretty cool considering it's never seen this image before so the UI is one way that you can generate predictions once your models been trained it's a good way to try it out right after training complete but chances are you probably want to build an app that's going to query your train model and there's a couple different ways to do this I want to highlight the vision API here so if you remember the vision API requests from a couple slides back you'll notice that this doesn't look much different all I need to add is this custom label detection perimeter and then once my model trains I get an ID for that train model that only I have access to or anybody that I've shared my project with so if I have an app let's say it's just detecting whether or not there's a cloud in an image but then let's say I want to upgrade my app I want to build a custom model I don't have to change much at all about my app architecture to now point it to my custom model I just need to modify the request JSON a little bit so that is Auto ml vision if we could go back to the slides a little bit about some companies that are using auto ml vision and have been part of the Alpha Disney is the first example they train a model on different Disney characters product categories and colors and they're integrating that into their search engine to give users more accurate results Urban Outfitters is a clothing company they've got a similar use case they train a model to recognize different types of clothing patterns and neckline styles and they're using that to create a comprehensive set of product attributes and they're using it to improve product recommendations and give users better search results the last example is Zoological Society of London they've got cameras deployed all over the wild and they built a model to automatically tag all the wildlife that they're seeing across those cameras so that they don't need somebody to manually review it so the two products I've talked about so far the API is an auto ml have entirely abstracted the model from us we don't know anything about how that model works under the hood but let's say you've got a more custom prediction task that's specific to your data set or use case so one example is let's say you have just launched a new product at your company you're seeing it posted a lot on social media and you want to identify where in an image that product is located you're gonna need to train a model on your own data to do that or let's say you've got a lot of logs coming in and you want to analyze those logs to find anomalies in your application these would all require a custom model train on your own data we've got two tools to help you do this tensorflow for building your models and machine learning engine for training and serving those models at scale so from the beginning the Google brain team wanted everyone in the industry to be able to benefit from all the machine learning products they were working on so they made tensorflow an open-source project on github and the uptake has been phenomenal it is the most popular and machine learning project on github it has I believe over 90,000 github stars actually need to update this slide it just crossed over 13 million downloads and because it's open source you can train and serve your tensorflow models anywhere so once you have built your tensorflow model you need to think about training it and then generating predictions at scale also known as serving so if your app becomes a major hit you're getting thousands of prediction requests per minute you're gonna need to find a way to serve that model at scale and again because tensorflow is open source you can train and serve your tensorflow models anywhere but this talk is about Google cloud platform so I'm going to talk about our managed service for tensorflow so on cloud machine learning engine you can run distributed training with GPUs and GPUs TV use our custom hardware designed specifically to accelerate machine learning workloads and then you can also deploy your train model to machine learning engine and then use the ML engine API to access scaleable online and batch prediction for your model one of the great things about ml engine is that there's no lock-in so let's say that I want to make use of ml engine for training my model but then I want to download my model and serve it somewhere else that's really easy to do and I can do the reverse as well so I'm going to talk about two different types of custom models using tensorflow running on cloud machine learning engine the first type of custom all don't talk about is transfer learning which law says update an existing train model using our own data and then I'm going to talk about training a model from scratch using only your data so transfer learning is great if you need a custom model but you don't have quite enough training data so what this lets us do is it lets us utilize an existing pre train model that's been trained on hundreds of thousands maybe millions of images or text to do something similar to what we're trying to do and then we take the weights of that train model and update the last couple layers with our own data so that the outcome is output that's generating predictions on our own training data so I wanted to build an antenna example showing how to train a model and then go all the way to serving it and building an app that generates predictions against it I know a little bit of Swift so I decided to build an iOS app that could detect breeds of pets this is a gif of what the app looks like so you upload a picture of your pet it's able to detect where the pet is an image and what type of breed it is to build that model I use the tensorflow object detection API which is a library that's built on top of tensorflow it's open source to let you do a specifically object detection which is identifying a bounding box of where something is in an image I train the model on machine learning engine I also served it on machine learning engine and then I used a couple of firebase api's to build a front-end for my app so this is a full architecture diagram and the iOS client is actually a pretty thin client what it's doing is it's uploading images to cloud storage for firebase and then I've got a cloud function that's listening on that bucket so that function is gonna be triggered anytime an image is uploaded it then downloads the image base64 encode zit sends it to machine learning engine for prediction and then the prediction that I get back is going to be a confidence value a label and then bounding box data for where exactly that pet is in my image so then I write that new image with a box around it to cloud storage and then I store the metadata in fire store so here's an example showing how the front-end works so this is a screenshot a firestore and we can see that whenever my image data is uploaded to fire store I write the new image with the box around it to a cloud storage bucket so that was an example of transfer learning but let's say that we have a custom task and we've got enough data to build and train a model entirely from scratch for this I'm going to show you a demo I built of a model that predicts the price of wine so I wanted to see given a wines description and variety can we predict the price so this is what an example input and prediction for our model would be so one reason this is well-suited for machine learning is I can't write rules to determine what the price of this wine should be so I can't say that any wine with vanilla in the description and Pinot Noir is gonna be a mid price wine whereas a fruity Chardonnay is always gonna be a cheap wine I can't write rules to do that so I wanted to see if I could build a machine learning model to extract insights from this data as I mentioned because I'm training this model from scratch there's no existing model out there that does exactly this tasks that I want to perform I'm gonna need a lot of data I use a Kaggle to get the data Kaggle is a data science platform it's part of Google if you're new to machine learning and looking for interesting datasets to play around with I definitely recommend checking out Kaggle so Kaggle has this wine reviews dataset has data I found this data set on 150,000 different kinds of wine for each wine it has a lot of data on the description the points rating the price etc so in this I'm just using the description the variety and the price for this model so the next step is to choose that API I'm going to use to build my model which 10 circle API and then the type of model I want to use so I chose to use the TF Kaos API here so Carris is an open-source machine learning framework created by francois shellay who works at Google and the tensorflow API includes a full implementation of chaos so chaos is a higher-level tensorflow API that makes this easy for us to define the layers of our model you can also use a lower level ten ten circle API if you'd like more control over the different operations in your monograph so I chose to use the TF Kerris API and then I chose to build a wide and deep model to sell this task now why didn't deep is basically just a fancy way of saying I'm gonna represent the inputs to my model in two different ways I'm gonna use a linear model the why that's the wide part that's good at memorizing relationships between different inputs and then I'm gonna use a deep neural net which is really good at generalizing based on data that it hasn't seen before put it another way the input to our wide model is going to be sparse wide vectors and the input to our deep model is going to be dense embedding vectors let's take a look at what the code for our model will look like so the first step this is all using the chaos functional API is to define the wide model and to represent my text in my wide model I'm gonna what use what's called a bag of words representation so what this does is it takes all the words that occur across all my wine descriptions and I'm gonna choose the top I chose to use the top 12,000 this is kind of a hyper parameter that you can tune so each input to my model is going to be a 12,000 element vector with ones and zeros indicating whether or not the word from my vocabulary is present in that specific description so it doesn't take into account the order of words or the relationship between words this wide model just takes into account whether or not this word from my vocabulary is present in that specific description so the input for this type of input is gonna look like this it's gonna be a 12,000 element bag of words vector the way I'm representing my variety my wide model was pretty simple I've got 40 different wine varieties in my data set so this is just gonna be a 40 element one hot vector with each index and the vector corresponding to a different variety of wine then I'm going to concatenate these input layers and the output to my model is just a float indicating what the price of that wine is so if I just wanted to use the wide model I could take the wide model that I have here rent training and evaluation on it using Kerris but I found that I had better better accuracy when I combined wide and deep so the next step is to build my deep model and for my deep model what I'm using is called an embedding layer what word embeddings let us do is they define the relationships between words in vector space so words that are similar to each other are gonna be closer together in vector space there's lots of reading out there on word embeddings so I'm not going to focus on the details here the way it works is I can choose the dimensionality of that space again that's another hyper parameter of this model so that's something I should tune and see what works best for my dataset so in this case you can see I use an 8 dimensional embedding space and I obviously I can't feed the text directly into my model I need to put it into a format that the model can understand so what I did was I encoded each word as an integer so this is what the input to my deep model is going to look like and obviously the inputs needs to be the same length but not all of my descriptions are the same length so I'm using 170 as a link none of my descriptions are longer than 170 words so if they're shorter I'll just pad that vector with zeros at the end as I did here the output is gonna be the same we're still predicting the price and then using the Carrows functional API it's relatively straightforward to then combine the outputs from both of these models and then define my combined model and so now it's time to run training and evaluation on that model I chose to do that using a machine learning engine so the first step here is to package my code and put it in Google Cloud Storage this is pretty simple so I put my model code in a trainer directory I put my wine data in a data directory and then I have this set up top pi file which is defining the dependencies that my model is going to use and then to run that training job I can use g-cloud which is our google cloud CLI for interacting with a number of different Google Cloud products so I run this g-cloud command to kick off my training job and then I save my model file which is a binary file to Google Cloud storage and let's see a demo of generating some predictions on that model so for this demo I'm gonna use this tool called collab Google collab I'll have a link to it at the end and this is a cloud hosted Jupiter notebook that comes with a free GPU and so here I've already trained my model and what I'm what I've done is I saved that model if I and Google Cloud storage here and now I'm gonna generate some predictions to see how it performs on some raw data we make this a little bit bigger so here we're just importing some libraries that we're gonna use I'm loading my model next step is to load the tokenizer for my model so this is just an index associating all the words in my vocabulary with a number and then I'm loading my variety encoder too I'm gonna ignore that warning and here I'm going to load in some raw data so what I have here is data on five different wines I've got the description the variety and then the Associated price for each of these wines and I wanted to show you what the input looks like for each of these so we need now we now need to encode each of these into the wide and deep format that our model is expecting so to do that we have this vocabulary lookup I'm just printing a subset of it here so this is gonna be twelve thousand elements long for the top twelve thousand words in our vocabulary and caris has some utilities to help us extract those top words and then my variety encoder is just a 40 element array that looks like this with each index corresponding to a different variety so let's see what the input to our wide model looks like so the first thing is our text and this is a bag of words vector so it's a 12,000 element vector with zeros and ones indicating the presence or absence different words in our vocabulary and then the variety matrix so I'm just printing it out for the first one so I believe that first wine was a Pinot Noir which corresponds with this index here and if we look up here we can confirm that yes that was a Pinot Noir so that's the input to our wide model and then our deep model we're just encoding all the words from that first description as integers and padding it was zeros since this wasn't a very long description and then all I need to do to generate predictions on my Karros model is called dot predict and what I'm doing here is I'm now going to loop through those predictions and see how the model performed compared to the actual price so we can see that it did a pretty good job on the first 146 compared to 48 this one was about $30 off but it was still able to understand that this was a relatively higher priced wine and it did pretty well on the recipes as well so I'll have a link to this at the end collab requires zero setup so you can all go to this URL enter your own wine descriptions and see how the model performs if we could go back to the slides I'm going to talk briefly about a few companies they're using a tensor flow and machine learning engine in production to build custom models the first example is rolls-royce they're using a custom tensor flow model in their marine division to identify and track the objects that a vessel can encounter at C o kado is the UK's largest grocery delivery service so as you can imagine they get tons and tons of customer support emails every day and they've built a custom model it's able to take those emails and predict whether it requires an urgent response or maybe the email doesn't require a response at all and they've been able to save a lot of customer support time using that model and then finally Airbus has built a custom image classification model to identify things in satellite imagery so I know I covered a ton of different products I wanted to give you a summary of what resources all of these products require so these are just four resources that I thought of that you need to solve a machine learning problem there's probably more that I don't have on here first is training data how much training data do you need to provide to train your model how much model code do you need how much training are serving infrastructure do you need to provision and then overall how long is this task gonna take you so if you look at our machine learning api's great thing about these you don't need any training data you can just start generating prediction on one image you don't need to write any of the model code you don't need to provision any training or serving infrastructure and you can probably get started with these in less than a day very little time we move to auto ml the cool thing about Auto ml is that you will provide some of your own training data because you're going to be creating a more customized model and it'll take a little more time because you will need to spend some time processing those images uploading uploading them to the cloud and maybe labeling them you still don't need any model code or any training or serving infrastructure and then finally if we think about a custom model built with tensorflow running on cloud ml engine you will need a lot of training data you will have to write a lot of the model code yourself and you'll need to think about whether you want to run your training and serving jobs on-premise or if you want to use a managed service like cloud ml engine to do that for you and obviously this this process will take a little bit more time finally so if you remember only three things from this presentation so I know I covered a lot first thing can use a pre trained API to accomplish common machine learning tasks like image analysis natural language processing or translation second thing if you want to build an image classification API train on your own data use auto ml vision I'm really interested to hear if you have a specific use case for auto ml vision come find me after I'll be in the cloud sandbox area last thing for custom machine learning tests you can build a tensor flow model with your own data and train and serve it on machine learning engine so here is a lot of great resources covering everything I talked about today I'll let all of you take a picture of that slide the video will also be up after so you can grab it from there as well and that's all I've got thank you

20 thoughts on “Intro to machine learning on Google Cloud Platform (Google I/O '18)”

  1. How do you create ML for sifting through pubmed and analyzing medicine affects on specific genetic disorders? I know it would need 2 libraries, but how can one get it to connect missing dots overlooked by humans?

  2. this video doesn't make me want to use GCP for ML anytime soon. Most if not all what she talked about can be achieved quite easily in Jupyter notebook with opensource software (fast.ai etc)

  3. Great video, especially on AutoML :
    Is human labeling performed by real humans ? How do they know how to label, if not experts in the reviewed domain ?
    Is it possible to restrict the origin of API calls ? (Use case : don't want my competitors to use my prediction API) ?
    Is it possible to make predictions offline (something like compile model, then use it in JS in the browser) ?

Leave a Reply

Your email address will not be published. Required fields are marked *