关于AI画画这个系列已经开了个头,前面已经简单的介绍了stable-diffusion的一些效果和简单的使用方法。

这几天NovelAI模型泄露了。那就凑巧了,就以这个模型为例。完整的介绍一下stable-diffusion-webui本地安装方法几乎是从零开始说起(除了不教操作系统安装)。WebUI就是stable-diffusion的可视化版本!
本地安装的好处是:
当然本地安装,相比直接用别人的网页版,难度也增加了。
客观条件准备充分的情况下,根据这篇文章一步一步来,就可以了,大部分人都能搞定。闲话不多说了,搞起来。
为了让新手能更加清晰,我把步骤分得细一点。
GIT是非常流行的分布式代码版本管理工具,因为安装脚本默认使用git来获取源代码,所以要先安装一下这个软件。软件安装虽然有很多选项,但是对我们而言一切默认即可。一路点下一步即可。

安装完成之后,按win+R或者开始里面搜cmd,打开命令行。输入git后回车。如果出现很多英文帮助信息就证明git一键安装成功并生效。这一步非必须,一般来说安装完了99.9%生效。

Python是目前非常流行的编程语音,大部分AI方面的研究都使用该语言,AI画画也不例外。为了支持Python语言的运行,就需要安装Python软件。

Python的安装分默认和自定义。这里选默认一键安装即可。唯一需要注意的是:记住安装路径。
源代码就是软件或者APP还没有编译之前的样子。目前没有很好的编译版本,所以要用源代码,获取源代码其实可以直接在github上下载压缩包。这里既然装了git,就用一行命令搞定吧。打开系统自带的CMD工具,输入盘符+冒号,切换磁盘,然后输入git获取原代码:
D:git
clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
命令执行完会出现Done,然后在D盘自动创建一个stable-diffusion-webui的文件。
打开stable-diffusion-webui文件夹,里面可以找到一个webui-user.bat的文件,没设置扩展名可见的就没有后面的.bat,这个没关系。

通过右键->编辑,打开这个文件。在 set PYTHON=后面填入你的Python路径。第二步记录的路径+python.exe就是完整的路径。

VENV_DIR=后面填入一个英文名。脚本运行之后会在当前目录生成一个同名文件夹。所有相关的依赖都放在这个文件夹里面。
修改并保存webui-user 之后,双击该文件,就会开始全自动安装了。网络通畅的情况下无需人工干预。但是很可能会遇到网络问题!

比如出现HttpsConnection这个提示,就是因为网络问题中断了。解决这个问题的方法就是重新运行脚本。当然有快速访问外网的辅助工具那就事半功倍了。
网络问题解决之后,就会一步一步往下安装,直到我们遇到第二个问题。

这其实并不是问题。之所以提示是因为我们第一次安装,还没有准备好模型。此时只需将泄露的NovelAI的模型放到指定路径就可以了。红色框中提供了两个自定的路径。一般是放在后面的Stable-diffusion中,文件名名无所谓,只要后缀是CKPT即可。

在novelai中找到model.ckpt复制到上面的路径中之后,重新双击webui-user。

经过一段时间的等待之后,看到Running On就证明已经安装完成,并且启动成功了。复制后面的本地网址,在浏览其中打开就可以看到可视化的界面了。

界面是英文版,选项又特别多,第一次看会有点懵。其实并不用太担心!
除了界面之后,只需要把提示词(Prompt)输入到相应的位置,然后点击Generate稍等片刻就可以生成图片了。刚开始肯定不知道输入什么词吧,可以参考一下内容:
anime fine details portrait of a white haired girl ,black eyes,wearing hoodie on the city street background, close-up view, anime masterpiece,4k, sharp high quality anime, artstation Prhololive, uruha_rushia, 1girl, bangs, bare shoulders, red eyes, blue dress, blue green hair,blue sleeves, blush, bow, breasts, chick, collarbone, detached collar, detached sleeves, double bun, eyebrows visible through hair,frills, hair orhament, medium hair, off-shoulder dress 1girl looking_at_viewer upper_body, too many flowers,kyoto animation, bishojo, bare_shoulders black sleeves yellow_eyes emeraldblue_hair, sailor_collar and neckerchief, detached_sleeves frilled_shirt_collar frills grey_shirt headset heart long_hairsleeveless shirt twintails verv long hair wide sleeves highres 2girl, two bishojo snuggled up selfie, with white marble glowing skin and perfect symmetrical pretty face with blush cheeks and glaring eyes wearing a school uniform,golden hour lighting, strong rim light, intense shadowse
生成图片不理想,在Negative prompt 添加如下关键词
lowres, bad anatomy, bad hands, text,error, missing fngers,extra digt ,fewer digits,cropped, wort quality ,low quality,normal quality, jpeg artifacts,signature,watermark, username, blurry, bad feet
默认情况下生成的图像为512x512,同构下面的Width和Height可以修改图片大小,当然图片越大合成时间就越长,还可以修改Sampling Steps 提示合成质量。

如果你有什么大胆的想法,可以在提示词中加入NSFW。
到这里基本配置和使用就已经完成了。不过对于NovelAI配置,网上的教程中还包含了其他文件的拷贝。
就是将novelaileak\stableckpt\animefull-final-pruned
中的model.ckpt文件重命名为final-pruned.ckpt
将novelaileak\stableckpt\
中的animevae.pt改为final-pruned.vae.pt
model.ckpt->final-pruned.ckpt
animevae.pt->final-pruned.vae.pt
然后全部放到
stable-diffusion-webui\models\Stable-diffusion
然后将
novelaileak\stableckpt\modules\modules
中的文件全部复制到
stable-diffusion-webui\models\hypernetworks\
复制完成之后关闭之前webui-user的窗口,重新运行,刷新页面。点击页面顶部的Setting进入设置页面,往下滚动找到Stable Diffusion。

在这里选择Checkpoiont 和 hypernetwork 。Checkpoiont 就是不同的模型。hypernetwork 应该是在模型上的微调,就是风格会有一些不一样。作为一个二次元小白,对我而言不选的效果看起来就挺好的。
WebUI有很多选项,我也是刚装完还没深入研究。包括Prompt的提示技巧也有待研究。有兴趣的可以一起交流。
相关资源和交流群见:
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
如果我一直输入geminstallrails使用不同版本的Rails会怎样?例如,我可以输入:geminstallrails--verson3.2.10或geminstallrails这给了我版本3.2.12。问题每次安装都会覆盖之前的吗?它会删除所有旧文件并添加我正在安装的新版本吗?或者如果我运行它两次,它会保留一些文件吗?我正在使用Ubuntu。 最佳答案 它将安装两个独立的gem。实际的可执行文件rails将调用最新版本。你可以覆盖它__例如,rails_3.2.10_将执行Rails3.2.10。bundler顺便说一下,如
我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正
为了在我的mac上为一个rails项目安装mysql,我遵循了安装Homebrew软件和删除mac端口的在线建议。这是问题开始的地方。rails项目不会构建,我得到这个:[rake--prereqs]rakeaborted!dlopen(/Users/Parker/.rvm/gems/ruby-1.9.3-p448/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle,9):Librarynotloaded:/opt/local/lib/libiconv.2.dylibReferencedfrom:/Users/Parker/.rvm/gem
我喜欢RVM。我意识到它的主要用例是让不同的用户在不同版本的Ruby之间切换。但是假设我正在将Rails应用程序部署到服务器,并且我只想运行单个版本的Ruby。特别是,我想要1.9.2,用RVM安装它很容易,但没有它就很痛苦。有没有一种方法可以让我说“我希望这是所有用户的规范Ruby安装”(连同它的所有gem),而不必手动创建一堆符号链接(symboliclink)并在每次更新到更新时更改它们Ruby版本? 最佳答案 以root身份安装RVM并执行sudorvmuse1.9.2--default。任何采购/usr/local/rvm