asl-ml-immersion: Google's ASL Bootcamp Notebooks and How to Set Them Up
Notebooks, code samples and reference for machine learning and generative ai on Google Cloud for the Advanced Solutions Lab (ASL) bootcamps.
At a glance
- What is it?
- This repository holds the Advanced Solutions Lab's TensorFlow, MLOps and Gemini agent courseware, split into three self-contained modules. The setup path runs through Cloud Shell and a Makefile, and it assumes you already have a Google Cloud project.
- Who is it for?
- Adopt this if you are working inside Google Cloud and want lab-and-solution notebooks for TensorFlow, Vertex AI pipelines or Gemini agents, with the environment built by scripts/setup_env.sh and make. Skip it if you need a framework-neutral curriculum or a repo that accepts outside pull requests, since only Googlers can contribute.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Jupyter Notebook, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The gap asl-ml-immersion is meant to fill
Most machine learning tutorials break in one of two ways. Either they run on a laptop with a toy dataset, or they assume a production cloud project that the reader does not have. The Advanced Solutions Lab (ASL) team at Google Cloud built this repository for the second case. According to the README, it contains AI and machine learning content meant to run on Google Cloud, maintained by the ASL team, which runs bootcamps for enterprise customers.
The audience is therefore narrow and specific. You are expected to have a Google Cloud project, to be comfortable in Cloud Shell, and to want hands-on material rather than a reference manual. The README states that only Googlers can contribute, so this is not a community project you can shape. That single sentence tells you more about the intended user than any feature list: it is courseware, not a library.
Three modules, three virtual environments, one Makefile
The repository is split into asl_core, asl_mlops and asl_genai. The README describes asl_core as model architectures (DNN, CNN, RNN, transformers, SNGP) across tabular, image, text and time-series data, implemented mainly in TensorFlow and Keras. asl_mlops covers operationalizing TensorFlow, scikit-learn and PyTorch models on Google Cloud's Agent Platform, including training, tuning, serving and Kubeflow pipelines. asl_genai covers generative AI and agent systems using Gemini and frameworks such as Google ADK.
Each module carries its own environment and materials. The Makefile makes that concrete. Its PROJECTS variable lists three entries, mapping each directory to a kernel display name: asl_core to "ASL Core", asl_genai to "ASL Gen AI" and asl_mlops to "ASL MLOps". The build target runs a setup script per project, and PYTHON_VERSION is pinned to 3.12. Inside each module, notebooks are organized by topic, and every topic folder has a labs directory and a solutions directory. You fill in TODOs in labs and check your work against solutions. That is the whole pedagogical mechanism, and it is a sensible one for a bootcamp.
Installing asl-ml-immersion and running your first agent notebook
The README puts environment setup in two steps. The first runs in Cloud Shell, where the setup script provisions project infrastructure: APIs, IAM and buckets. It then prompts you to choose Agent Platform Workbench, Cloud Workstations, both, or infrastructure only. It also asks whether to attach an Nvidia T4 GPU. The README notes that accelerators are not required in most notebooks, though some recommend them, so answering n is a reasonable default.
git clone https://github.com/GoogleCloudPlatform/asl-ml-immersion.git
cd asl-ml-immersion
bash scripts/setup_env.shThe second step happens inside the running environment. You clone the repository again there and run make, which builds the virtual environments and registers the Jupyter kernels.
git clone https://github.com/GoogleCloudPlatform/asl-ml-immersion.git
cd asl-ml-immersion
makeOn Cloud Workstations the README says to open the folder and reload the window if it was already open. After that, open a notebook and select a kernel: ASL Core, ASL MLOps or ASL Agent. For terminal work, activate the module's virtual environment first, then run the command. The README's own example launches the ADK web interface against a solutions directory.
source ./asl_genai/.venv/bin/activate
adk web ./asl_genai/notebooks/building_agents/solutions/adk_agentsIf the repository does not build, the Makefile also defines a clean target that removes compiled Python files and calls the setup script with a remove argument for each of the three projects. That is the reset path, and it is worth knowing before you start deleting directories by hand.
Where this repository will not help you
The disclaimer is explicit: this is not an officially supported Google product, and using Google Cloud products incurs charges. There is no support contract attached to a notebook that fails halfway through a lab.
The harder constraint is the environment. Setup assumes you can run scripts that create APIs, IAM bindings and buckets in a project. If you are on a locked-down corporate project where you cannot grant yourself those roles, step one stops there. The README does offer an escape hatch: choose option 4 to skip provisioning and set up Workbench or Workstations manually following Google's documentation. But you still need the infrastructure, just created by someone else.
There is also a versioning trap. The recent releases list includes keras3 and keras2, both dated 2026-01-14, plus an older um_notebook release from 2024-06-13. If you follow a blog post or a cached page pointing at the Keras 2 notebooks, you may be reading material that no longer matches the default branch. Check which release line your notebook belongs to before debugging an import error.
asl-ml-immersion against a framework-neutral course
The obvious alternative for a team that wants machine learning training material is a vendor-neutral course such as fast.ai, or Google's own public codelabs. The difference is not quality; it is coupling. A fast.ai course teaches PyTorch on your own hardware and leaves deployment to you. This repository teaches TensorFlow and Keras on Agent Platform Workbench, with MLOps labs built around Kubeflow pipelines and Agent Platform training and serving.
That coupling is the point. If your organization already runs on Google Cloud, a lab that creates a real training job and a real endpoint teaches the operational details a generic course cannot: quota, IAM, bucket layout, kernel selection. If your organization runs on another cloud or on-premises Kubernetes, most of asl_mlops transfers poorly, and asl_core is the only module with much to offer. The genai module sits in between, since Gemini and ADK are Google-specific but the agent patterns are not.
Maintenance, releases and the Apache-2.0 licence
The repository is not archived, and its last push was on 2026-09-09, which is recent enough that the default branch is moving. That matters for courseware, because notebooks rot quickly when their dependencies move.
The release naming is worth reading carefully. The keras3 release is described as "ASL with Keras 3" and keras2 as "Repo with Keras2 notebooks", both published on 2026-01-14. Having two parallel lines means the project is deliberately keeping older material available rather than force-migrating every notebook at once. If you pin your team to this repository, pin to a release tag rather than to master, or a mid-course push can change a notebook under you.
On licensing, the README states that all code is under Apache License 2.0, with the usual disclaimer that it is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. Apache-2.0 is permissive, which means you can reuse snippets in your own work. It says nothing about the Google Cloud services the notebooks call, which are billed separately and governed by their own terms. That is a commercial question, not a licensing one, and it is the one that will actually show up on a budget line.
Editorial conclusion
Adopt this if you are working inside Google Cloud and want lab-and-solution notebooks for TensorFlow, Vertex AI pipelines or Gemini agents, with the environment built by scripts/setup_env.sh and make. Skip it if you need a framework-neutral curriculum or a repo that accepts outside pull requests, since only Googlers can contribute. Before committing time, check whether your project has the APIs, IAM roles and buckets the setup script expects, and confirm the notebook you need sits in the keras3 or keras2 release line rather than an older one.
Frequently asked questions
What is asl-ml-immersion?
It is a repository of AI and machine learning notebooks, code samples and reference material maintained by Google Cloud's Advanced Solutions Lab team, intended to run on Google Cloud. It is organized into three modules: asl_core for model architectures, asl_mlops for operationalizing models on Agent Platform, and asl_genai for generative AI and agents with Gemini and Google ADK.
How do I install asl-ml-immersion?
Clone the repository in Cloud Shell and run bash scripts/setup_env.sh, choosing Agent Platform Workbench, Cloud Workstations, both, or infrastructure only. Then clone it again inside the running environment and run make to build the virtual environments and Jupyter kernels.
Which Python version does asl-ml-immersion use?
The Makefile sets PYTHON_VERSION to 3.12, and each of the three modules gets its own virtual environment and kernel through the setup script.
Can I contribute to asl-ml-immersion?
The README states that currently only Googlers can contribute to the repository, and points to CONTRIBUTING.md for the workflow. External pull requests are therefore not part of the intended use.
Is asl-ml-immersion free to use?
The code is licensed under Apache License 2.0. The README's disclaimer notes that this is not an officially supported Google product and that usage of Google Cloud products will incur charges.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/googlecloudplatform-asl-ml-immersion)