Skip to content

Deploy a fine-tuned model

Info

By default, when you create a fine-tuning run, your fine-tuned model will be automatically deployed as soon as the run finishes.

However, if you elected to not automatically deploy by setting auto_deploy=False in FinetuningRun.create(), use the steps in this page to manually deploy your model.

Status check

Your fine-tuning run needs to finish before you can deploy the fine-tuned model.

from baseten.training import FinetuningRun

my_run = FinetuningRun("RUN_ID")
my_run.is_succeeded # Once True, you're ready to deploy

You'll receive an email when the fine-tuning run finishes.

Deployment

When your run is finished, it's time to deploy the model. It's a one-line command:

my_run.deploy(idle_time_minutes=30)

The parameter idle_time_minutes controls the time the model waits after its most recent invocation before scaling to zero.

  • A lower idle_time_minutes saves you money on model hosting.
  • A higher idle_time_minutes means fewer model invocations have a cold start. Cold starts slow down the first call to a model.

You'll receive an email when model deployment finishes.

Invocation

Once your model is deployed, you can invoke it:

from baseten.models import StableDiffusionPipeline

model = StableDiffusionPipeline(model_id="MODEL_ID")
image, url = model("portrait of olliedog as an andy warhol painting")
image.save("ollie-warhol.png")

The model returns:

  • The generated image (using Pillow)
  • A URL to the generated image

For more on your newly deployed model, see the StableDiffusionPipeline reference.

Example output:

These images were generated for the following prompts:

  • portrait of olliedog as an andy warhol painting (left)
  • side profile of olliedog as a van gogh painting (right)

Example output