Textual Inversion 部署过程

简介

Textual Inversion的官方网址

https://github.com/rinongal/textual_inversion

在这里插入图片描述

首先需要使用conda创建环境

conda env create -f environment.yaml -p /path

​之后激活环境

conda activate your_env

然后将Textual Inversion克隆到本地

git clone https://github.com/rinongal/textual_inversion.git

之后到该目录下

 cd textual_inversion

之后按照官网的readme下载文件

mkdir -p models/ldm/text2img-large/
wget -O models/ldm/text2img-large/model.ckpt https://ommer-lab.com/files/latent-diffusion/nitro/txt2img-f8-large/model.ckpt

理论上现在运行程序即可

python main.py --base configs/latent-diffusion/txt2img-1p4B-finetune.yaml 
               -t 
               --actual_resume /path/to/pretrained/model.ckpt 
               -n <run_name> 
               --gpus 0, 
               --data_root /path/to/directory/with/images
               --init_word <initialization_word>

其中actual_resume就是之前下载的model.ckpt,它的地址在models/ldm/text2img-large/model.ckpt,-n之后随便填,不需要加<>,data_root是图片所在的文件夹,init_word就是对象的单标记粗略描述

程序之后会输出log,在log文件夹里可以看到生成的样品

可能出现的问题

RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)

这个的解决方法如下述链接所示:

https://github.com/rinongal/textual_inversion/issues/124


ImportError: cannot import name ‘get_num_classes’ from ‘torchmetrics.utilities.data’ (/home/jiasun/lun/ldm_env/lib/python3.8/site-packages/torchmetrics/utilities/data.py)

这个的解决方法如下述链接所示:
关于安装 PyTorch-Lightning 的一些问题(GPU版)
其实就是torchmetrics版本问题,使用

pip install torchmetrics==0.5

即可


packaging.version.InvalidVersion: Invalid version: ‘0.10.1,<0.11’

这个的解决方法如下述链接所示:
https://www.cnblogs.com/xiximayou/p/17089246.html
其实就是packaging版本问题

pip install packaging==21.3

就可以解决


ImportError: cannot import name ‘CLIPTokenizer’ from ‘transformers’ (unknown location)

其实就是transformers的版本太低,解决方法:

pip install transformers==4.13.0

AttributeError: module ‘PIL.Image’ has no attribute ‘LINEAR’
pillow库版本过高,解决方法:

pip install Pillow==9.5.0

<think>好的,我需要回答用户关于Stable Diffusion云端部署及应用开发的问题。首先,我得仔细看看用户提供的引用内容,确保信息准确。用户提到了阿里云的Serverless Devs、函数计算FC和文件存储NAS,这些应该是关键组件。 首先,部署步骤需要分阶段说明。根据引用[2],部署分为创建应用、配置NAS和启动服务。用户可能对每一步的具体操作不太清楚,所以得详细说明,比如登录控制台、选择模板、填写参数等。同时,引用[3]提到输入pwd查看路径,这可能涉及到配置文件的修改,需要提到这一点。 应用开发方面,用户可能想知道如何调用API和自定义模型。引用[4]提到函数计算FC提供GPU环境,这里可以说明如何通过API接口进行图像生成。另外,自定义模型和插件的上传与管理也是重要部分,需要引用[4]中的信息。 还要注意用户提到的经济高效和按需付费,这点在优势部分应该强调。可能的问题需要涵盖性能优化、模型训练和成本控制,这些都是用户后续可能关心的点。 最后,检查是否符合系统级指令:使用正确的中文,数学公式用$...$,独立公式用$$...$$,但这里可能用不上数学公式。引用标识要正确添加,比如在提到Serverless方案时引用[^4],在详细步骤引用[^2]和[^3]。确保结构清晰,分步骤讲解,相关问题合理。</think>### Stable Diffusion云端部署教程及应用开发指南 #### 一、云端部署核心步骤 1. **基础环境搭建** - 登录阿里云函数计算控制台,创建基于GPU的Serverless应用[^4] - 选择「AI数字绘画Stable Diffusion」应用模板,配置实例规格(建议选择GN7i/P100规格) - 关键参数配置示例: ```yaml region: cn-shenzhen serviceName: sd-service functionName: sd-function ``` 2. **存储系统配置** - 创建文件存储NAS,建议选择性能型存储(最小容量100GB) - 通过NAS控制台挂载存储路径,例如: $$ \text{挂载路径} = /root/stable-diffusion-webui/models $$ - 上传模型文件到NAS指定目录(如`stable-diffusion-v1-5`版本)[^3] 3. **服务启动与验证** - 在函数计算控制台执行部署命令: ```bash s deploy --use-local -y ``` - 访问生成的WebUI地址(格式:`https://[服务名].[区域].fcapp.run`) - 通过终端验证路径配置: ```bash pwd # 确认当前工作路径 ls /root/stable-diffusion-webui/configs # 查看配置文件 ``` #### 二、应用开发实践 1. **API接口调用** - 通过HTTP触发器暴露服务端点 - Python调用示例: ```python import requests payload = { "prompt": "cyberpunk cityscape at night", "steps": 50, "width": 512 } response = requests.post('https://your-endpoint/functions/sd/generate', json=payload) ``` 2. **模型扩展管理** - 支持的自定义模型格式: - Checkpoint模型(.ckpt) - Textual Inversion嵌入(.pt) - LoRA扩展(.safetensors) - 模型上传路径结构: ``` NAS_ROOT/ ├── models/ │ ├── Stable-diffusion/ │ ├── Lora/ │ └── embeddings/ ``` 3. **性能优化方案** - 冷启动优化:设置最小实例数=1 - GPU内存管理:限制并发数(建议单实例并发≤3) - 使用公式计算成本: $$ \text{日成本} = (\text{GPU实例单价} \times \text{运行时间}) + (\text{NAS存储量} \times \text{单价}) $$ #### 三、方案优势解析 1. **成本效益** - 按实际使用计费(函数执行时间+存储占用) - 对比本地部署节省硬件投入80%以上[^4] 2. **扩展能力** - 支持自定义插件开发(如ControlNet扩展) - 可集成到现有工作流: $$ \text{用户请求} \rightarrow \text{API网关} \rightarrow \text{函数计算} \rightarrow \text{NAS存储} $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值