本主题介绍如何使用升级输入图像的示例在 AWS SageMaker 上调用基于图像的模型。 使用机器学习进行图像升级通常涉及使用卷积神经网络 (CNN) 等深度学习模型来提高图像的分辨率或质量。

注:

AWS 标志和徽标是 Amazon.com, Inc. 的商标或注册商标,仅用于识别目的。

通过在 Amazon AWS SageMaker JumpStart 模型中使用稳定扩散对图像进行升级,将低分辨率图像转换为高分辨率图像。 低分辨率图像被编码为 Base64 格式,并提供给模型进行升级。 下图为您提供了在此升级过程中遵循的流程。 有关 AWS SageMaker JumpStart 模型的详细信息,请参阅 AWS SageMaker InvokeEndpoint JumpStart Upscale ImagesAWS SageMaker InvokeEndpoint JumpStart UpscalingAWS SageMaker 图像转换流程

过程

  1. Control Room 中,单击使用 SageMaker 端点发现进行配置以获取端点列表。 调用 AWS SageMaker 端点
    1. 按照 AWS SageMaker: 身份验证操作 中的说明输入凭据。
    2. 单击区域下拉菜单,选择您希望获取端点的 AWS 实例所在的区域。
    3. 单击连接
      系统会连接到 SageMaker 并列出所选区域中可用的端点。
    4. 单击与您想要使用的模型相对应的端点名称,然后单击选择。 在此示例中使用基于图像的模型。 使用预先存在且预先训练的模型,您可以通过导航到推理 > 端点来查看已部署的模型。 如果您想要部署您选择的模型,请参阅 AWS SageMaker Deploy models for inference;如果您想要训练已部署的模型,请参阅 AWS SageMaker Build, Train, and Deploy models for inference。 要获取有关模型的更多信息,请单击模型。
    5. 单击选择
      系统会自动将端点名称区域填充到父屏幕。
  2. 单击内容类型下拉菜单,选择您想要输入的内容有效负载类型。 在此示例中,选择 application/json;jpeg 作为有效负载类型。
  3. 将低分辨率图像存储在一个文件夹中,并使用 Base64 转换: Base64 编码操作,用于将图像转换为 base64 编码文本。 按照下面的示例,以 JSON 格式输入 base64 编码文本:
    { "prompt":"a cat", "image":encoded_image, "num_inference_steps":50, "guidance_scale":7.5 }
    base64 编码的输出用于 encoded_image
  4. 输入默认作为会话名称,或者将会话存储在变量中。
  5. 响应 JSON 存储在变量 str-ImageBasedModelResponse 中。
    响应 JSON 包含 2 个部分:
    • 生成的图像: 生成的图像节点包含升级后的图像的二进制数据。
    • 提示: 输入提示。 在此示例中,它是 a cat
  6. 您可以使用 base64 解码器将输出转换为图像。 在此示例机器人中,读取 JSON 的每个节点,并将生成的图像:节点的值传递给解码器以生成升级后的图像。