本文介绍使用函数计算部署Stable Diffusion应用过程中可能遇到的问题以及解决方案。
关于如何基于函数计算部署Stable Diffusion,请参见如何使用函数计算部署Stable Diffusion?。
注意事项
Stable Diffusion为开源软件,请随时关注对应的开源协议,防止您商业化过程中可能存在的风险。
应用启动失败怎么办?
检查上传的模型问题
问题现象:应用启动时,出现下面的报错信息。
Can't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations. The program will exit.Function instance health check failed on port 7860 in 120 seconds.
问题原因:
未上传模型:部署完Stable Diffusion服务后,没有上传模型,导致应用启动失败。
当应用启动时,出现以下报错信息,请先排查模型是否没有上传。
"ErrorCode":"FunctionNotStarted","ErrorMessage":"Function instance health check failed on port 7860 in 120 seconds.\nLogs: 9:54, 6.40MB/s|\r 11%|M(MISSING)/3.97G [01:31\u003c10:49, 5.86MB/s|\r 11%|M(MISSING)/3.97G [01:31\u003c10:50, 5.84MB/s|\r 11%|M(MISSING)/3.97G 01:31\u003c10:48, 5.80MB/s|\r 11%|M(MISSING)/3.97G [01:31\u003c10:24, 5.89MB/s|\r 11%|M(MISSING)/3.97G 01:31\u003c10:44, 5.06MB/s|\r 11%|M(MISSING)/3.97G [01:31\u003c10:55, 5.79MB/s|\r 11%|M(MISSING)/3.97G 01:31\u003c12:26, 5.00MB/s|\r 11%|M(MISSING)/3.97G [01:32\u003c10:13, 6.19MB/s|\r 11%|M(MISSING)/3.97G 01:32\u003c12:26, 6.88MB/s|\r 11%|M(MISSING)/3.97G [01:32\u003c08:53, 7.10MB/s|\r 11%|M(MISSING)/3.97G 01:32\u003c11:37, 5.44MB/s|\r 11%|M(MISSING)/3.97G [01:33\u003c10:06, 6.10MB/s|\r 11%|M(MISSING)/3.97G 01:33\u003c10:16, 6.05MB/s|\r 11%|M(MISSING)/3.97G [01:34\u003c09:46, 6.45MB/s|\r 11%|M(MISSING)/3.97G [01:34\u003c10:52, 5.80MB/s|\r 11%|M(MISSING)/3.97G 01:33\u003c10:38, 5.93MB/s|\r 11%|M(MISSING)/3.97G [01:33\u003c10:26, 6.04MB/s|\r 11%|M(MISSING)/3.97G 01:33\u003c08:44, 7.21MB/s|\r 11%|M(MISSING)/3.97G [01:34\u003c10:38, 5.92MB/s|\r 11%|M(MISSING)/3.97G 01:34\u003c10:29, 6.01MB/s|\r 12%|M(MISSING)/3.97G [01:34\u003c10:18, 6.42MB/s|\r 12%|M(MISSING)/3.97G 01:34\u003c10:49, 7.14MB/s|\r 11%|M(MISSING)/3.97G [01:34\u003c14:43, 4.28MB/s|\r 12%|M(MISSING)/3.97G [01:35\u003c12:05, 5.21MB/s|\r 12%|M(MISSING)/3.97G 01:35\u003c15:01, 4.19MB/s|\r 12%|M(MISSING)/3.97G [01:35\u003c15:11, 4.14MB/s|\r 11%|M(MISSING)/3.97G 01:35\u003c13:08, 4.19MB/s|\r 11%|M(MISSING)/3.97G [01:36\u003c15:58, 3.94MB/s|\r 12%|M(MISSING)/3.97G 01:36\u003c13:37, 4.62MB/s|\r 12%|M(MISSING)/3.97G [01:36\u003c11:50, 5.31MB/s|\r 12%|M(MISSING)/3.97G [01:36\u003c12:12, 5.15MB/s|\r 12%|M(MISSING)/3.97G 01:36\u003c11:51, 5.30MB/s|\r 12%|M(MISSING)/3.97G [01:37\u003c17:30, 3.59MB/s|\r 12%|M(MISSING)/3.97G [01:37\u003c14:53, 4.48MB/s|\r 12%|M(MISSING)/3.97G [01:37\u003c12:10, 5.15MB/s|\r 12%|M(MISSING)/3.97G 01:37\u003c13:41, 4.59MB/s|\r 12%|M(MISSING)/3.97G [01:37\u003c12:10, 5.05MB/s|\r 12%|M(MISSING)/3.97G 01:37\u003c14:53, 4.21MB/s|\r 12%|M(MISSING)/3.97G [01:39\u003c16:16, 3.87MB/s|\r 12%|M(MISSING)/3.97G 01:38\u003c12:36, 4.97MB/s|\r 12%|M(MISSING)/3.97G [01:38\u003c13:45, 4.56MB/s|\r 12%|M(MISSING)/3.97G 01:38\u003c17:32, 3.58MB/s|\r 12%|M(MISSING)/3.97G [01:38\u003c12:17, 5.16MB/s|\r 12%|M(MISSING)/3.97G [01:39\u003c13:03, 5.00MB/s|\r 12%|M(MISSING)/3.97G [01:38\u003c12:08, 5.16MB/s|\r 12%|M(MISSING)/3.97G 01:39\u003c13:35, 4.61MB/s|\r 12%|M(MISSING)/3.97G [01:39\u003c13:22, 4.68MB/s|\r 12%|M(MISSING)/3.97G 01:39\u003c24:24, 3.31MB/s|\r 12%|M(MISSING)/3.97G [01:40\u003c12:23, 4.35MB/s|\r 12%|M(MISSING)/3.97G [01:40\u003c14:04, 4.44MB/s|\r 12%|M(MISSING)/3.97G 01:39\u003c15:19, 4.00MB/s|\r 12%|M(MISSING)/3.97G [01:40\u003c16:19, 3.83MB/s|\r 12%|M(MISSING)/3.97G 01:41\u003c13:33, 4.44MB/s|\r 12%|M(MISSING)/3.97G [01:41\u003c14:04, 4.44MB/s|\r 12%|M(MISSING)/3.97G 01:40\u003c11:54, 5.25MB/s|\r 12%|M(MISSING)/3.97G [01:41\u003c12:06, 5.17MB/s|\r 12%|M(MISSING)/3.97G 01:41\u003c14:07, 4.42MB/s|\r 12%|M(MISSING)/3.97G [01:41\u003c14:13, 4.39MB/s|\r 12%|M(MISSING)/3.97G 01:41\u003c13:14, 4.71MB/s|\r 12%|M(MISSING)/3.97G [01:42\u003c13:26, 4.64MB/s|\r 12%|M(MISSING)/3.97G 01:42\u003c13:14, 4.71MB/s|\r 12%|M(MISSING)/3.97G [01:42\u003c13:26, 4.64MB/s|\r 12%|M(MISSING)/3.97G 01:43\u003c12:41, 4.91MB/s|\r 12%|M(MISSING)/3.97G [01:43\u003c11:07, 5.60MB/s|\r 12%|M(MISSING)/3.97G 01:44\u003c11:16, 5.53MB/s|\r 12%|M(MISSING)/3.97G [01:44\u003c11:30, 5.41MB/s|\r 12%|M(MISSING)/3.97G 01:44\u003c12:06, 5.14MB/s|\r 12%|M(MISSING)/3.97G [01:44\u003c12:22, 6.00MB/s|\r 12%|M(MISSING)/3.97G 01:45\u003c12:37, 4.93MB/s|\r 13%|M(MISSING)/3.97G [01:46\u003c16:24, 3.78MB/s|\r 13%|M(MISSING)/3.97G 01:46\u003c17:59, 3.45MB/s|\r 13%|M(MISSING)/3.97G [01:46\u003c16:24, 3.78MB/s|\r 13%|M(MISSING)/3.97G模型后缀错误:上传的模型后缀不是以
.ckpt结尾,导致应用启动失败。
解决方案:
上传模型:为了避免下载模型占用大量的时间,您可以直接上传对应的模型。具体操作,请参见一键部署Stable Diffusion。
修改模型后缀:进入KodBox页面,确认是否已成功上传模型,并检查模型后缀是否为
.ckpt。从huggingface源站下载的模型后缀为.txt,需手动修改为.ckpt。在 KodBox 中进入
/mnt/auto/sd/models/Stable-diffusion/目录,确认模型文件sd-v1-5-inpainting.ckpt已成功上传且后缀为.ckpt。
检查账户是否欠费问题
问题现象:应用启动时,出现报错信息
{"ErrorCode":"InvalidArgument","ErrorMessage":"Mount NFS:xxxxx-jlb79.cn-hangzhou.nas.aliyuncs.com:/fc-stable-diffusion-plus command failed with output = mount.nfs: Connection reset by peer\n, please make sure that the nas mount point address is correct and is accessible from the service VPC"}。问题原因:模型正常上传后,启动仍然失败,可能是由于当前账号存在欠费。账号欠费后,在挂载NAS文件系统时会出现报错。
解决方案:请在当前账号下充值,待账号恢复正常后重试。
检查KodBox是否存在隐藏目录
问题现象:应用启动时,出现以下报错信息。
出错了! (warning!) no such table: user[ SQL语句 ] :SELECT * FROM `user` WHERE ( id = 1 ) LIMIT 1 系统错误 bin/data.bin[2] DbSqlite3->query() bin/data.bin[2] DbSqlite3->error() [Linux 4.19.91-95648dd.al7.x86_64/7.4.29/sqlite3/1.35.03]问题原因:模型文件所在的目录下存在隐藏目录,导致应用启动失败。
解决方案:
登录函数实例,具体可参考函数实例命令行操作。
执行命令
cd /mnt/auto/sd,进入模型文件所在的目录。执行命令
ls -a,查看是否存在隐藏目录。执行命令后,可以看到文件列表中包含隐藏目录
.kodbox-1.35.031。执行命令
rm -rf .kodbox-1.35.031,删除隐藏目录。重新安装应用,然后重启KodBox,设置账号密码即可恢复正常使用。
检查KodBox页面是否关闭
问题现象:应用启动时,出现报错信息
Stable diffusion model failed to load, exiting。问题原因:
模型没有正常上传:模型不正常导致应用启动失败。
KodBox页面没有关闭:KodBox页面没有关闭,可能会导致Stable Diffusion服务启动失败。
解决方案:
模型正常上传:至少上传一个模型后,检查模型名称、模型大小符合要求。
关闭KodBox页面:上传模型后关闭KodBox页面,然后再启动Stable Diffusion服务。
生成图片时进程卡住怎么办?
Stable Diffusion本身的原因,特定模型下开启面部修复功能(restore face)时,会发生进程卡住现象。您可以尝试在Stable Diffusion的WebUI界面中手动取消面部修复功能。
为什么无法在线安装插件?
容器镜像部署存在安全限制,不允许在线安装插件。您可以将插件下载到本地,然后通过管理后台上传到extensions目录。如果想通过WebUI界面使用URL来安装插件 ,请先自行定制Docker镜像,并修改相关的参数。
如何访问Stable Diffusion的API?
需定制镜像,开启--api参数,然后访问/docs查询可调用的API。
使用Stable Diffusion应用如何计费?
使用通过函数计算部署的Stable Diffusion应用过程中,会收取函数计算的资源使用费用和NAS存储占用费用。具体信息,请参见FC计费概述和NAS计费概述。
首次登录用户,请先分别领取函数计算和文件存储NAS的免费试用额度。具体操作,请参见免费试用。
除了默认的方案,有没有更灵活的定制方案?
可以将整个webui目录映射至NAS文件存储目录,修改源码会更加方便。