在 GCP 中创建具有稳定扩散的您自己的 Midjourney 应用程序
到现在为止,您可能已经在互联网上看到了美丽而逼真的 AI 生成图像。任何人都可以使用提示生成这些图像,即对想要生成的图像的描述。由于运行大型模型的技术性质,大多数人使用像这样的应用程序生成这些图像 中途 或 OpenAI 的 给她 .但这一切都将改变。
感谢工作 稳定性.AI ,创建了一种新的创新生成模型,稳定扩散。它不仅可以根据提示生成非常高保真度的图像,而且还可以安装在具有 8GB 内存的 GPU 中。太棒了!最重要的是,它是开源的,任何人都可以免费使用它。
在这篇文章中,我将向您展示如何使用已加载的稳定扩散模型和前端 UI 部署后端服务,该前端 UI 可用于从 Web 浏览器输入提示并生成一些图像。让我们开始吧。
使用 Google Vertex AI 预测的后端
Vertex AI Prediction 提供针对机器学习工作负载优化的可扩展、完全托管的服务。我们将使用此服务将我们的稳定扩散模型部署为使用 Docker 和 GPU 的端点。
首先,克隆 repo https://github.com/entrpn/serving-diffusion , 并安装 Vertex AI SDK
git 克隆[ https://github.com/entrpn/serving-diffusion](https://github.com/entrpn/serving-diffusion)
pip install google-cloud-aiplatform
现在我们要构建 Docker 映像。此图像包含在 txt2img 和 img2img 模式下运行稳定扩散所需的所有权重。我们将把这张图片上传到谷歌云存储库,Vertex AI 端点将能够获取它来创建我们的服务层。确保将 project_id 更改为您在 GCP 控制台中找到的项目 ID。
码头工人建造。 -t gcr.io/{project_id}/stable-diffusion:latest
docker push gcr.io/{project_id}/stable-diffusion:latest
此时,如果您的本地环境有 GPU,您可以在本地进行测试。
docker run -p 80:8080 --gpus all -e AIP_HEALTH_ROUTE=/health -e AIP_HTTP_PORT=8080 -e AIP_PREDICT_ROUTE=/predict push gcr.io/{project_id}/stable-diffusion:latest -d
request.json 看起来像。
{“instances”:[{“prompt”:“一条穿裙子的狗”}],“参数”:{“scale”:7.5}}
还有 curl 命令。
卷曲 -X POST -d[ @要求](https://twitter.com/request) .json -H "Content-Type: application/json; charset=utf-8" localhost/predict >> response.json
响应包含 base64 编码图像和模型元数据。
{“预测”:
["iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAEAAAElEQVR4nHz9a48kWZIsiImonmPmHpGPquqqfs3cnVncuw...",
"iVBORw0KGgoAAAANSUhEUgAAAGAAAAIACAIAAAB7GkOtAAEAAElEQVR4nHz9a48kWZIsiImonm..."],
"deployedModelId": "8397827920394977280",
“模型”:“项目/{project_id}/locations/us-central1/models/{model_id}”,
"modelDisplayName": "稳定扩散",
“模型版本 ID”:“1”
}
现在我们将图像部署到端点,我们的后端就准备好了。
python gcp_deploy.py --project-id<your_project_id> --bucket gs://<your_bucket> /diffusion-model --image-uri gcr.io/<your_project_id> /稳定扩散:最新
此操作可能需要一些时间。另请注意,该服务使用的是 V100 GPU,每小时收费 2.8520 美元。您可以查看有关 Vertex AI 定价的更多信息 这里 .
部署模型后,您可以访问 Vertex AI Endpoints 控制台并进行尝试。
使用 Google Cloud Run 的前端
对于前端,我发现了一个很棒的开源项目, 稳定-扩散-webui , 用 建成 .我采取了一些零碎的工作并创建了回购 https://github.com/entrpn/serving-diffusion-ui
git 克隆[ https://github.com/entrpn/serving-diffusion-ui](https://github.com/entrpn/serving-diffusion-ui)
pip install -r requirements.txt
访问应用程序需要身份验证。您可以删除它,或者在调用 demo.launch 的文件 webui_playground.py 中更改用户名和密码。
对于下一步,您将需要 gcloud CLI。如果你还没有,你可以从安装它 这里 .
接下来,我们将构建 Docker 映像并将其推送到 Google Cloud Repositories。不要忘记将 project_id 更改为您的。
码头工人建造。 --build-arg port=80 --build-arg aip_endpoint_name=projects/{project_id}/locations/us-central1/endpoints/{endpoint_id} -t gcr.io/{project_id}/serving-diffusion-ui:latest
docker push gcr.io/{project_id}/serving-diffusion-ui:latest
最后,将应用程序部署到云端运行。
gcloud run deploy --port 80 --region us-central1 serving-diffusion-ui --image gcr.io/{project_id}/serving-diffusion-ui:latest
完成此操作后,您将获得一个 URL,您可以从该 URL 访问该应用程序。由于 GCP 的安全策略(默认锁定所有内容),您还需要公开 URL。你可以按照这个 关联 关于如何去做。
就是这样!这种方法很简单,它提供了一个可扩展的应用程序。
最后,我确实想指出,稳定的扩散模型强化了文化偏见。尊重这个模型,不要用它来伤害他人。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/15370/27550508
标签:diffusion,serving,--,应用程序,project,GCP,AI,Midjourney,id From: https://www.cnblogs.com/amboke/p/16656800.html