本帖最后由 伊莉伊莉雅 于 2022-10-18 01:25 编辑
NovelAI Colab脚本
来自StableDiffusion_cn
https://colab.research.google.com/drive/1_Ma71L6uGbtt6UQyA3FjqW2lcZ5Bjck-
①↑打开由 colab文档链接,登录谷歌账号,左上角,代码执行程序→全部运行
且注意第一步有没有下载成功,如失败请重新运行
②直到第三步,会显示 bore.pub:xxx 和 xxx.trycloudflare.com
两个都是前端地址,不同映射隧道,哪个稳定用哪个
但需要等待出现 Application startup complete / 0.0.0.0:6969 字样出现时再访问
③可选,以 float16 半精准极限运行7G模型
需要结束上方第三步的运行,再运行第四步,依然是等待新地址访问
试了下生成速度还蛮快,2it/s左右,显卡不好或者A卡的话可以考虑直接用这个。
NovelAI本地整合包(非SD-WebUI)
来自B站 秋叶aaaki BV1EV4y1L7dX
链接:https://pan.baidu.com/s/1AAHoNYYano6q7XBl3luCcg
提取码:upqn
SD-WebUI推荐直接使用整合包。
A1111压缩包版(更新v5,可以加群追更新)
链接:https://pan.baidu.com/s/1JSj4_KQ2Q92Z58q-USrX9Q?pwd=7knu
提取码:7knu微云:https://share.weiyun.com/m48PpPgA
之前v2,v3版的下载v2升v4补丁包,解压覆盖,然后再下载v4升v5补丁包,解压覆盖。
新安装,直接下载v4完整包和v4升v5补丁包,解压v4完整版之后,解压补丁包覆盖。
参考下方下载模型部分,选择模型下载到models\Stable-diffusion下。
第一次打开webui_setup.bat,之后运行启动对应的webui_run_xxx.bat
等待如图显示url的时候即启动成功,浏览器打开127.0.0.1:7860即可。(<-之前手滑打成7890了,不好意思
Over。
使用NovelAI模型
1.下载nd_latest.ckpt模型,下载nd_latest.vae.pt,两个均放到stable-diffusion-webui\models\Stable-diffusion下
2.下载hypernetworks文件夹,放到stable-diffusion-webui\models文件夹下
3.hypernetworks使用参考下方的替换模型部分。
替换模型 - 运行之后,在网页的Settings选项卡中,下拉找到Stable Diffusion(有的webui不用下拉,在右侧能看到StableDiffusion的选项)
- 在下拉框中选择想要加载的模型。NovelAI的模型可以配合hypernetworks使用,参照NovelAI模型下载部分,将hypernetworks下载好,在这里可以选择相应的pt。不同pt效果,可以自己参考下方生成对比图测试。
复制代码
下载其他模型
模型下载地址
SD官方模型huggingface需要先注册登录。 二次元模型NovelAI 见上面。 Waifu Diffusion 以Danbooru的图片进行训练的二次元模型,目前被NovelAI薄纱,期待后续赶上。 TrinArt 动漫专精模型,和wd、NovelAI都不是一个训练来源,推荐装一个。 其他模型汇总(简单来说都被NovelAI薄纱,没有用的必要):
几种二次元模型对比:
其他功能
混合模型
将下载的模型放到文件夹 stable-diffusion-webui/models/Stable-diffusion下面运行之后,可以在Checkpoint Merger选项卡混合两个模型。
比如用wd1.3与trinart以7:3的比例混合。(影响效果大概就是wd1.3 * 0.7 + trinart * 0.3)混合后的模型也在模型文件夹中。
生成对比图
在Script下拉框中选择X/Y plot,可以生成方阵图,比如这里x轴选择Checkpoint name,y轴不选,就会生成上面那种相同参数不同模型的对比图。
-------------------------------------此楼结束,2楼3楼还有其他内容。------------------------------------------------
-----------------------------------------------------------正片开始------------------------------------------------------------
以下内容对网络要求比较高,需要熟练掌握pip修改国内源,conda修改国内源,适当时机打开梯子,适当时机关闭梯子等技巧,如果觉得自己做不到的还是不用看了。
但是能薄纱SD-WebUI的本地NovelAI那么香,确定不看一下么?注* 出图效果在测试过的大部分case下可以说与在线版均处于误差范围内(即可以认为和在线版一样),小部分case差别较大,具体各种case的对比稍后会附上。
先是谢罪时间
几个问题:
1.automatic1111的项目介绍里写的很清楚的直接安装的教程,为什么我要用conda?
之前说了,怕直接安装会污染环境。
2.就算用conda,为什么不用自动化脚本?
之前也说了,考虑到自动化脚本在网络不好的情况下很容易中断,又没有错误提示,很难排查,我把自动化脚本拆出来一步一步手动运行,哪里出错救哪里。
3.你这手动启动咋那么麻烦呢?
是我智障了,后面补了个启动脚本,自动切conda环境,自动启动py。
4.automatic1111更新那么频繁,都是动态依赖各种库的版本,你这怎么更新?
是我智障加考虑不周,没想到大佬这么肝(感谢大佬),后面加了一些手动更新的方法,但还是比较繁琐。
5.更新问题最后怎么处理的?
摆烂了(不是),把手动操作全都去掉了,只要网络没问题就没问题。
启动脚本直接调用原工程的自动化脚本进行环境初始化(之前按照教程安装过的坛友直接运行最新的启动脚本就可以了)。
那么conda的优点呢,从SD-WebUI切到NovelAI,除去下载时间,只花了我20分钟不到就把项目跑起来了,按照我的操作来,可以5分钟内搞定。
*前提是SD-WebUI的环境已经更新到python310了,如果照着前两天的更新,应该都是310了,如果不是,先重新创建个310的环境,具体看下方更新支持xformers部分。
准备工作
选择StableDiffusion版本
原版的SD需要使用命令行进行操作,对于普通用户来说非常麻烦。 各项目的介绍里通常都有安装教程,只是多数项目都是直接安装环境,这会影响到以后安装其他的项目。环境分离可以使用Conda,也可以使用Docker,这里介绍如何使用Conda进行安装,不同的项目之间操作大同小异。 如果有一定基础,可以直接按照仓库的说明进行安装,因为网络问题,项目里自带的一些智能化脚本并不智能,安装的时候不好定位问题出在哪里,所以我把自动化脚本又拆成了手动化操作,看上去更繁琐了,但是安装成功的几率高一些。 原版SD地址:WebUI:
安装基础软件安装选择目录,右键Git Bash Here,clone仓库: - git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
复制代码
打开Anaconda Prompt (Anaconda3) - conda config --add envs_dirs D:\ProgramData\Anaconda3\envs //设置虚拟环境路径(默认在C盘),自行替换虚拟环境路径
- conda config --add pkgs_dirs D:\ProgramData\Anaconda3\pkgs //这个不换也行,也可以改为其他路径,该路径默认无写权限,如果换到了这个目录需要用<b>管理员模式</b>打开Anaconda Prompt
- cd D:\__AI\Stable Diffusion\stable-diffusion-webui //进入克隆的webui工程目录,自行替换为对应工程所在目录
- D: //进入工程目录所在盘符,自行替换为程序目录所在盘符(上面cd D:/xxx之后还处于C盘,需要再输入一次盘符加:然后回车(比如d:)才会进入到目标目录)
复制代码
以管理员身份打开Anaconda Prompt (Anaconda3) (如果未修改pkgs文件夹,则不需要管理员模式) 使用Proxifier将python.exe添加到规则中,应用梯子规则,下载环境需要python全程走梯子。(如果熟悉conda安装环境,或者替换了国内的conda源,则不需要开梯子,按正常流程即可) 创建虚拟环境
- conda create -n ldm python=3.10 //创建环境
- activate ldm //切换环境
- mkdir repositories //创建其他仓库父目录
复制代码
添加模型 - 将下载的模型放到文件夹 stable-diffusion-webui/models/Stable-diffusion
复制代码
下载附件脚本,放到stable-diffusion-webui目录。
下载之后,右键使用文本编辑器打开,有两个地方要修改,一个是conda环境名字(ldm或者automatic或者自己修改的其他环境名),另一个是Conda的安装目录。修改保存之后,双击打开即可。
*可选 修改"set COMMANDLINE_ARGS=" ,以下功能根据自己的需求,将对应参数添加到set COMMANDLINE_ARGS=后面即可。
- 1.deepdanbooru
- --deepdanbooru
- 2.局域网访问
- --listen
- 3.公网访问
- --share
- 4.开启xformers(具体参考xformers部分,加这个之前一定要先看过那部分,很多人没有安装xformers就打开了这个选项,结果就会出错)
- --xformers
- 5.强制开启xformers(跳过条件检查,不会报错)
- --force-enable-xformers
- 6.显存低于3G的显卡
- --lowvram --always-batch-cond-uncond
- 7.显存低于5G的显卡
- --medvram
- 8.16xx显卡4G
- --precision full --no-half --lowvram --always-batch-cond-uncond
- 9.16xx显卡6G
- --precision full --no-half --medvram
- 示例:比如我有大显存,想要用deepdanbooru,开启xformers,局域网可访问,就是以下参数:
- set COMMANDLINE_ARGS=--deepdanbooru --force-enable-xformers --listen
复制代码
对于不能看附件的坛友,把下面的内容复制,新建一个文本文档,粘贴,照着上面的内容进行修改,保存成xxx.bat,注意后缀名要把txt改成bat,有的系统可能没有显示后缀名,要先设置显示后缀名,再把后缀名改成bat,之后都运行这个bat即可。
- @echo off
- set conda_env_name=ldm
- set COMMANDLINE_ARGS=
- :: Put the path to conda directory after "=" sign if it's installed at non-standard path:
- set custom_conda_path=E:\ProgramData\Anaconda3
- IF NOT "%custom_conda_path%"=="" (
- set paths=%custom_conda_path%;%paths%
- )
- set paths=%ProgramData%\miniconda3
- set paths=%paths%;%USERPROFILE%\miniconda3
- set paths=%paths%;%ProgramData%\anaconda3
- set paths=%paths%;%USERPROFILE%\anaconda3
- for %%a in (%paths%) do (
- IF NOT "%custom_conda_path%"=="" (
- set paths=%custom_conda_path%;%paths%
- )
- )
- for %%a in (%paths%) do (
- if EXIST "%%a\Scripts\activate.bat" (
- SET CONDA_PATH=%%a
- echo anaconda3/miniconda3 detected in %%a
- goto :foundPath
- )
- )
- IF "%CONDA_PATH%"=="" (
- echo anaconda3/miniconda3 not found. Install from here https://docs.conda.io/en/latest/miniconda.html
- exit /b 1
- )
- :foundPath
- call "%CONDA_PATH%\Scripts\activate.bat" "%conda_env_name%"
- python "%CD%"\launch.py
复制代码
- 最后出现这个就是运行成功了,打开浏览器,输入127.0.0.1:7860 即可。
- 如果加了--listen,会显示0.0.0.0:7860,同样输入127.0.0.1:7860 或者 当前机器的ip地址:7860 或者 localhost:7860 都可以访问,同局域网内其他机器输入 当前机器的ip地址:7860 即可(比如192.168.1.233:7860)
- 如果加了--share,会多出一条xxxxx.gradio.app的链接,就可以把这个链接拿给朋友使用。程序不关闭的话,链接有效时间为72小时,关闭程序则立即失效。
更新支持xformers
新用户直接按安装部分操作即可,不受影响,老用户需要创建一个新的环境。
开启xformers之后,相比之前可以提高20%到60%的出图速度。[s/](但是每一代显卡的xformers需要单独编译,项目里仅包含30系显卡的xformers,其他系显卡需要自行编译(网盘里附带了不知名群友编译的20系和群友露紫衣编译10系,下载解压放到webui的根目录))
官方已提供10,20,30系可通用的xformers,不再需要单独下载。
但是xformers需要python3.10,之前安装的虚拟环境都是3.8。因此需要创建一个新的环境来使用xformers。
- conda create -n ldm python=3.10 //创建环境
- activate ldm //切换环境
复制代码- 1.修改对应的环境名
- 2.在set COMMANDLINE_ARGS=后面加上--xformers
- 比如这样:
- set COMMANDLINE_ARGS=--deepdanbooru --xformers
复制代码- 运行webui-Run.bat
- 假如窗口一闪而过,打开文件夹stable-diffusion-webui,点击文件管理器的地址栏,输入cmd,回车,输入webui-Run.bat,回车,出错不会直接退出。
运行
更新
部分库更新较快,比如automatic1111的最近一直爆肝更新,想要更新的话,首先更新webui的库
在stable-diffusion-webui文件夹下
- git pull //拉取最新代码,建议使用sourcetree进行更新
- 如果更新失败,检查报错信息,假如是有文件冲突,输入以下命令,注意最后的点不要漏了。
- git checkout .
- 再次
- git pull
- 更新完成后,运行webui-Run.bat
复制代码
本地NovelAI搭建
下载
链接:https://pan.baidu.com/s/12fcSUA9JyrWUhOHubOr8pA?pwd=zfvp
安装过SD-WebUI并且下过NovelAI模型的潭友只用下载NovelAI.zip,未安装过的需要把models文件夹也下载下来。
1.将NovelAI.zip解压,修改NovelAI-Run.bat
右键文本编辑器打开NovelAI-Run.bat,照例修改conda_env_name(环境名)与custom_conda_path(Conda安装目录,参考上面修改Webui-Run.bat的部分)两个值。
*可选 修改其他参数
- set DTYPE=float32 //低显存修改为float16
- set MODEL_PATH=models/animefull-final-pruned //模型路径,可以修改为models/animefull-latest-pruned
- %PYTHON% uvicorn --host 0.0.0.0 --port=2333 --workers 1 main:app //根据需要修改端口
复制代码
2.准备模型
2.1 已有SD-WebUI环境,之前下载过NovelAI的模型
将nd_final.ckpt改名为model.ckpt,放入到models/animaefull-final-pruned目录下
将nd_latest.ckpt改名为model.ckpt,放入到models/animaefull-latest-pruned目录下
将nd_final.vae.pt或者nd_latest.vae.pt任意一个改名animevae.pt,放入到models目录下(没错,这两个其实是一个文件,我复制了一份改了个名,诶嘿)
将hypernetworks改名modules,放入到models目录下(然而这个目录的功能并木有实装,虽然大家在webui上玩的很欢)
2.2 新装环境或未下载过NovelAI的模型
直接把下载的models目录拷贝到NovelAI.zip解压的目录下,和原本的models目录合并即可。
models最终目录结构如下:
整个NovelAI的目录结构如下:
3.安装
3.1 已有SD-WebUI环境
首先需要SD-WebUI的环境已经更新到python310了,如果照着前两天的更新,应该都是310了,假如不是,先重新创建个310的环境,具体看上面的更新支持xformers部分。当然也可以看下面从头开始,但是重新创建310的环境,SD-WebUI也可以用,还是建议创建一个。
- 运行Anaconda Prompt
- activate ldm //切换环境
- pip install -r requirements.txt
- 运行NovelAI-Run.bat
复制代码 3.2 新装环境- 运行Anaconda Prompt
- conda create -n ldm python=3.10 //创建环境
- activate ldm //切换环境
- pip install -r requirements.txt
- 运行NovelAI-Run.bat
复制代码
之后启动都直接运行NovelAI-Run.bat即可。
结束。
|