一、项目地址
WebUI地址:https://github.com/IDEA-CCNL/stable-diffusion-webui
封神榜GitHub地址:https://github.com/IDEA-CCNL/Fengshenbang-LM
模型地址:https://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-v0.1
简介:Fengshenbang-LM(封神榜大模型)是IDEA研究院认知计算与自然语言研究中心主导的大模型开源体系,成为中文AIGC和认知智能的基础设施。
二、本机配置
台式机,CPU:I7-6700,内存:2*8G,GPU:NVIDIA RTX3070(显存8G)
anaconda3(非必要项)、git、显卡驱动及pytorch库相关内容省略,详细可以移步
ChatGLM3纯windows环境本地部署成功记录2023.12.11
本次部署可以不使用anaconda3,只需要本地安装有python就行(由于此前使用3.11版本的python部署时出现过提示用3.10.6,因此建议使用此版本)
四、项目部署
1、根据GitHub开源项目说明文档进行克隆
(页面使用了机翻)
值得注意的是,本篇用到的不是Anaconda Powershell,而是使用Anaconda Prompt及cmd,这是因为方便运行项目下的.bat文件
运行脚本时,会通过conda创建的3.10.6版本的python来创建新的虚拟环境,这个环境是在stable-diffusion-webui目录内的,后续的所有操作都将使用这里的venv来操作,conda在本次部署中可以理解为一个下载python的媒介,如果已安装了python,也可以直接克隆后双击运行webui.bat
等待创建了目录内的环境后就可以用Ctrl+C断开,不用等待运行到报错
2、安装依赖
使用cmd命令进入stable-diffusion-webui目录,或者直接打开目录在地址栏输入cmd回车
激活在目录下已经创建好的python
前面出现(venv)就是已经启用了目录下的虚拟环境,之后就可以安装依赖包
这里先安装pytorch,通过官网https://pytorch.org/选择pip方式安装即可,对应版本选择可查看前文第三部分中的链接了解
然后安装其他依赖包,根据部署时候遇到的问题发现,原本requirements_versions.txt中的依赖有所遗漏,会导致后续的报错,报错原因网上查到的信息是默认安装的库版本太高导致的
例如:TypeError: AsyncConnectionPool.init_() got an unexpected keyword argument 'socket_options'
ImportError: cannot import name '_compare_version' from’ torchmetrics.utilities.imports’
因此这里建议直接添加三行之后再安装依赖
之后就可以批量安装对应的依赖包了,这里使用了tuna的镜像源加速
3、模型下载并调用
如果手动下载,就移动到下图路径中(下图中有好几个文件是最终运行了webui.bat之后才克隆下来,这时候没有是正常的)
也可以进入stable-diffusion-webui\repositories文件夹中进行克隆(由于文件较多且huggingface单个点下载的话可能出现服务器保存的文件名与实际文件名不一致的情况,有条件的情况下还是强烈推荐git clone)
4、调整代码
stable-diffusion-webui\modules路径下images.py代码需要做微调
由于windows下无法运行os.statvfs方法(我并不清楚.f_namemax具体会获取到什么数值,姑且按网上查到的windows最大文件名长度260字符来调整),其报错AttributeError: module 'os' has no attribute 'statvfs'和代码调整如下图
5、运行WebUI
以上都完成之后,可以先打开cmd命令行启动webui.bat,也可以直接双击webui.bat打开,如果采用后者,运行失败的情况下按任意按键窗口就关掉了,用前者则还可以保留窗口方便查看异常,同时也方便再次启动
(前文的第一次启动是为了创建新的虚拟环境venv,这里的第二次启动虽然已经安装了大量的依赖包,但还会自动安装一些库和git clone少量文件,此时如果未开启代理是比较慢且容易失败的)
由于受到机器性能的限制,在一些软件已经占用大量内存的情况下,加载模型可能会出现16G内存占满而导致一些软件崩溃的情况,此时模型也可能无法正常加载成功,下图为没有打开大量占用内存软件的情况下加载成功的情况,过程中也有好几项报错,但已经提示可以访问WebUI了
看到上方最底下的提示时,就可以访问127.0.0.1:12345开始体验了
体验过程中,模型生成时的显存占用情况如下图
正面词建议用英文逗号隔开,负面词参考为:广告, ,, !, 。, ;, 资讯, 新闻, 水印
6、(可选)WebUI汉化
此步骤需要在打开webui.bat之前进行,否则建议关掉重新打开,不然可能无法正确加载
到网页的Settings项中改成中文即可(测试时直接改CN,界面不会变成中文,只有添加了拓展之后才可以)
随后重启服务就能看到中文界面了(下图是测试时还未git clone前的截图,否则应该能看到这里有一项)
7、(补充)
本人部署过程中,尝试过开启拓展,即启动UI时添加'--enable-insecure-extension-access'并下载带有cn标识的插件,但访问网址报 <urlopen error [Errno 11004] getaddrinfo failed>,似乎是DNS的问题,修改了网址后可以访问,但仍出现过无法安装的报错,因此建议使用上述稳妥方法,如果有想要尝试这个方法的可以按下图进行
未启用不安全的扩展访问
启用方式,stable-diffusion-webui文件夹内的launch.py添加两行(本人python知识有限,只能想到这种类比的方法添加)
之后等待WebUI正确启动后按下图操作,搜索cn拓展并安装即可,原网址报错的话可以用https://gitgud.io/AUTOMATIC1111/stable-diffusion-webui/-/wikis/Extensions-index.md
随后重启服务按6、进行即可
到此结束,感谢看到这里
酷酷AI在路上 2023-07-24
大白是什么白 2023-07-02