📚How do I...?

Links to common use cases, workflows and tasks using ZenML.

Last Updated: December 13, 2023

Some common questions that we get asked are:

  • contribute to ZenML's open-source codebase?

Please read our Contribution guide for more information. For small features and bug fixes, please open a pull request as described in the guide. For anything bigger, it is worth posting a message in Slack or creating an issue so we can best discuss and support your plans.

  • custom components: adding them to ZenML?

Please start by reading the general documentation page on implementing a custom stack component which offers some general advice on what you'll need to do.

From there, each of the custom stack component types has a dedicated section about adding your own custom components. For example, for adding custom orchestrators you would visit this page.

  • dependency clashes mitigation with ZenML?

Check out our dedicated documentation page on some ways you can try to solve these dependency and versioning issues.

  • deploy cloud infrastructure and/or MLOps stacks?

ZenML is designed to be stack-agnostic, so you can use it with any cloud infrastructure or MLOps stack. Each of the documentation pages for stack components explain how to deploy these components on the most popular cloud providers.

We also build and maintain the mlstacks package and library which offers a dedicated way to spin up infrastructure for your ZenML pipelines. It's fully integrated into ZenML's CLI and is a great way to get started with deploying your infrastructure. ZenML also publishes and maintains modules on the Terraform Registry (which are used by mlstacks under the hood) which you can also use as a standalone solution if you are familiar with Terraform.

  • deploy ZenML on my internal company cluster?

Read the documentation on self-hosted ZenML deployments in which several options are presented.

  • hyperparameter tuning?

Our dedicated documentation guide on implementing this is the place to learn more.

  • reset things when something goes wrong?

To reset your ZenML client, you can run zenml clean which will wipe your local metadata database and reset your client. Note that this is a destructive action, so feel free to reach out to us on Slack before doing this if you are unsure.

  • steps that create other steps AKA dynamic pipelines and steps?

Please read our general information on how to compose steps + pipelines together to start with. You might also find the code examples in our guide to implementing hyperparameter tuning which is related to this topic.

  • templates: using starter code with ZenML?

Project templates allow you to get going quickly with ZenML. We recommend the Starter template (starter) for most use cases which gives you a basic scaffold and structure around which you can write your own code. You can also build templates for others inside a Git repository and use them with ZenML's templates functionality.

  • upgrade my ZenML client and/or server?

Upgrading your ZenML client package is as simple as running pip install --upgrade zenml in your terminal. For upgrading your ZenML server, please refer to the dedicated documentation section which covers most of the ways you might do this as well as common troubleshooting steps.

  • use a <YOUR_COMPONENT_GOES_HERE> stack component?

For information on how to use a specific stack component, please refer to the component guide which contains all our tips and advice on how to use each integration and component with ZenML.

Last updated