When using CMLE (Cloud Machine Learning Engine) to create a version, it is necessary to specify a source of an exported model. This requirement is important for several reasons, which will be explained in detail in this answer.
Firstly, let's understand what is meant by "exported model." In the context of CMLE, an exported model refers to a trained machine learning model that has been saved or exported in a format that can be used for prediction. This exported model can be stored in various formats such as TensorFlow SavedModel, TensorFlow Lite, or even a custom format.
Now, why is it necessary to specify a source of an exported model when creating a version in CMLE? The reason lies in the workflow of CMLE and the need to provide the necessary resources for serving the model. When creating a version, CMLE needs to know where the exported model is located so that it can be deployed and made available for prediction.
By specifying the source of the exported model, CMLE can efficiently retrieve the model and load it into the serving infrastructure. This allows the model to be ready for prediction requests from clients. Without specifying the source, CMLE would not know where to find the model and would not be able to serve predictions.
Additionally, specifying the source of the exported model enables CMLE to handle versioning effectively. In machine learning, it is common to train and iterate on models, improving them over time. CMLE allows you to create multiple versions of a model, each representing a different iteration or improvement. By specifying the source of the exported model, CMLE can keep track of these versions and ensure that the correct model is served for each prediction request.
To illustrate this, consider a scenario where a machine learning engineer trains a model using TensorFlow and exports it as a SavedModel. The engineer then uses CMLE to create a version of the model, specifying the source as the exported SavedModel file. CMLE deploys the model and makes it available for prediction. Now, if the engineer later trains an improved version of the model and exports it as a new SavedModel, they can create another version in CMLE, specifying the new exported model as the source. This allows CMLE to manage both versions separately and serve the appropriate model based on the version specified in prediction requests.
When using CMLE to create a version, specifying a source of an exported model is necessary to provide the necessary resources for serving the model, enable efficient retrieval and loading of the model, and support versioning of models.
Other recent questions and answers regarding Advancing in Machine Learning:
- When a kernel is forked with data and the original is private, can the forked one be public and if so is not a privacy breach?
- What are the limitations in working with large datasets in machine learning?
- Can machine learning do some dialogic assitance?
- What is the TensorFlow playground?
- Does eager mode prevent the distributed computing functionality of TensorFlow?
- Can Google cloud solutions be used to decouple computing from storage for a more efficient training of the ML model with big data?
- Does the Google Cloud Machine Learning Engine (CMLE) offer automatic resource acquisition and configuration and handle resource shutdown after the training of the model is finished?
- Is it possible to train machine learning models on arbitrarily large data sets with no hiccups?
- Can CMLE read from Google Cloud storage data and use a specified trained model for inference?
- Can Tensorflow be used for training and inference of deep neural networks (DNNs)?
View more questions and answers in Advancing in Machine Learning