Hello custom training: Set up your project and environment

This page walks through setting up your Google Cloud project to use Vertex AI and downloading some TensorFlow code for training. You will also download code for a web app that gets predictions.

This tutorial has several pages:

  1. Setting up your project and environment.

  2. Training a custom image classification model.

  3. Serving predictions from a custom image classification model.

  4. Cleaning up your project.

Each page assumes that you have already performed the instructions from the previous pages of the tutorial.

Before you begin

Throughout this tutorial, use Google Cloud console and Cloud Shell to interact with Google Cloud. Alternatively, instead of Cloud Shell, you can use another Bash shell with the Google Cloud CLI installed.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI and Cloud Functions APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI and Cloud Functions APIs.

    Enable the APIs

  8. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  9. If Cloud Shell does not display (PROJECT_ID)$ in its prompt (where PROJECT_ID is replaced by your Google Cloud project ID), then run the following command to configure Cloud Shell to use your project:

    gcloud config set project PROJECT_ID
    

Create a Cloud Storage bucket

Create a regional Cloud Storage bucket in the us-central1 region to use for the rest of this tutorial. As you follow the tutorial, use the bucket for several purposes:

  • Store training code for Vertex AI to use in a custom training job.
  • Store the model artifacts that your custom training job outputs.
  • Host the web app that gets predictions from your Vertex AI endpoint.

To create the Cloud Storage bucket, run the following command in your Cloud Shell session:

gsutil mb -p PROJECT_ID -l us-central1 gs://BUCKET_NAME

Replace the following:

  • PROJECT_ID: The ID of your Google Cloud project.
  • BUCKET_NAME: A name that you choose for your bucket. For example, hello_custom_PROJECT_ID. Learn about requirements for bucket names.

Download sample code

Download sample code to use for the rest of the tutorial.

gsutil cp gs://cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz - | tar -xzv

To optionally view the sample code files, run the following command:

ls -lpR hello-custom-sample

The hello-custom-sample directory has four items:

  • trainer/: A directory of TensorFlow Keras code for training the flower classification model.

  • setup.py: A configuration file for packaging the trainer/ directory into a Python source distribution that Vertex AI can use.

  • function/: A directory of Python code for a Cloud Function that can receive and preprocess prediction requests from a web browser, send them to Vertex AI, process the prediction responses, and send them back to the browser.

  • webapp/: A directory with code and markup for a web app that gets flower classification predictions from Vertex AI.

What's next

Follow the next page of this tutorial to run a custom training job on Vertex AI.