Stable Diffusion 2.1 Demo(Mac M1、M2电脑上部署Stable Diffusion报错怎么办)

时间:23-10-17 14:45:38

作者:

分类:AI软件教程

    Stable Diffusion 2.1 Demo(Mac M1、M2电脑上部署Stable Diffusion报错怎么办)

  在最新的Mac M1和M2电脑上,部署Stable Diffusion可能会遇到报错问题。这是因为Stable Diffusion的预构建版本在这些新型电脑上无法正常运行。然而,不用担心,我们可以通过使用Docker容器化平台来解决这个问题。本文将向您介绍如何在Mac M1和M2电脑上使用Docker来部署Stable Diffusion,以解决报错问题。

安装Docker

  要使用Docker来部署Stable Diffusion,首先需要在您的电脑上安装Docker。您可以按照Docker的官方文档进行操作,以确保正确安装Docker并设置好运行环境。

下载Stable Diffusion的Docker镜像

  一旦您成功安装了Docker,接下来需要下载Stable Diffusion的Docker镜像。您可以使用以下命令来获取所需的镜像:

docker pull sdv/stable-diffusion:2.1

  这将会下载Stable Diffusion的Docker镜像到您的本地环境,以供后续使用。

启动Stable Diffusion容器

  现在,您已经安装了Docker并下载了Stable Diffusion的Docker镜像,接下来可以启动Stable Diffusion容器。使用以下命令来启动容器:

docker run -it -p 8080:8080 sdv/stable-diffusion:2.1

  这个命令将会启动一个Stable Diffusion容器,并将容器的端口8080映射到本地端口8080。这样,您可以通过浏览器访问http://localhost:8080来使用Stable Diffusion。

使用Docker部署Stable Diffusion的示例

  以下是一个具体的示例,展示了如何在Mac M1和M2电脑上使用Docker来部署Stable Diffusion:

# 安装Docker
brew install docker

# 下载Stable Diffusion的Docker镜像
docker pull sdv/stable-diffusion:2.1

# 启动Stable Diffusion容器
docker run -it -p 8080:8080 sdv/stable-diffusion:2.1

# 访问Stable Diffusion
open http://localhost:8080

  这段示例代码执行了相同的操作,安装Docker、下载Stable Diffusion镜像、启动容器,并让您可以通过浏览器访问Stable Diffusion的用户界面。

解决常见报错问题

  有时候,在使用Stable Diffusion时,您可能会遇到一些错误提示,例如:

loc("varianceEps"("(mpsFileLoc): /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm":228:0)): error: input types 'tensor<1x77x1xf16>' and 'tensor<1xf32>' are not broadcast compatible
LLVM ERROR: Failed to infer result type(s).
zsh: abort ./webui.sh

  如果您遇到这种问题,可以尝试在启动Stable Diffusion程序时添加以下参数来解决:

./webui.sh --share --skip-torch-cuda-test --no-half

  这将会解决报错问题,确保Stable Diffusion正常运行。

  总结:

  使用Docker来部署Stable Diffusion是解决在Mac M1和M2电脑上部署问题的有效方法。通过安装Docker、下载Stable Diffusion的Docker镜像以及启动容器,您可以轻松地在这些新型电脑上使用Stable Diffusion,而不必担心报错问题。希望本文的步骤和示例代码对您有所帮助,使您能够顺利使用Stable Diffusion。如果您在使用过程中遇到其他问题,可以参考作者Harrison8848的文章以获得更多支持。

  (本文由电脑系统之家小编撰写,希望能为您提供有用的信息。)