【AI作画】【A卡】制作一个Windows下AMD显卡可用的WebUI【中日对照翻译】

原帖地址:https://dolls.tokyo/howto_amd_anything_webui/
原标题:AMD環境のWindowsマシンで動くAnythingV3.0に自力でWebUIをつける
原作者:ぶっちー
时间:2022-11-23
在此表示感谢。未获授权,仅供学习交流,侵删
ありがとうございます。著作権を侵害したら、すぐに削除します。
个人日语水平有限(N4),机翻加润色,不当之处敬请斧正。

AUTOMATIC1111を恨めしく思いながらコマンドライン。
一边抱怨AUTOMATIC1111(大家目前广泛使用的一键包的作者,对A卡支持不良),一边敲命令行(用A卡出图)。
というのも寂しいので、GradioというPythonライブラリを使ってWebUIを実装しました。
因为感到这样很无趣,所以用Gradio这个Python库,自己搭了一个WebUI。

Gradio
Anything v3.0じゃなくてStable Diffusion v1.5でもやることは一緒。
用的并不是Anything v3.0这个模型,而是Stable Diffusion v1.5(原版)模型(译者注:除了能出二次元图,还能出三次元的图,著名的测试用例:“航天员在月球上骑马”,就是用这个模型能跑出来),它其实一样能干Anything模型能干的活。
P.S.:关于Windows下部署A卡StableDiffusion(能加速),本人首个专栏里搬了几篇,该作者的博客也有详细的部署教程。
ただ様々なモデルが使えないAMD環境にとっては、Waifuより特化したAnythingの貴重さが光ります。
但是,对于无法使用各种模型的AMD环境,比Waifu(存疑,指的是原版naifu?)更专业的Anything的价值就大放异彩了。

自己做一个脚本
【自作スクリプト】
細かな設計など無しに、最小限のステップでGUI化できる主に機械学習プログラムに向いたライブラリらしいです。
(Gradio这个库使得我们)不用在意各种细节,用很少的步骤,便能给机器学习程序,套一个简单的图形界面。
AUTOMATIC1111もコレを使って作られています。
AUTOMATIC1111的原版WebUI也是用Gradio这个库来制作的。
準備はライブラリを入れるだけ。
准备阶段,只需安装这个库。
いつものvirtualenv環境に入ったらインストール。
进入Python虚拟环境(venv),然后使用如下命令安装:
GitHub – gradio-app(https://github.com/gradio-app/gradio)でパターンを学びながら、既存のスクリプトを融合させました。
我是现学现卖,从这个库的项目主页(https://github.com/gradio-app/gradio)上缝合了一些现成的代码。
流用、応用で書くnoobなのでご了承下さい。
在写代码这方面我是个菜鸡,敬请谅解。
原版代码:
汉化后代码:
virtualenvディレクトリの直下に好きな名前で保存(自分はgr_4.py)し、パラメータ無しで実行。
直接将以上代码存成python脚本,放在虚拟环境的同一文件夹里,起个喜欢的名字(我用的是gr_4.py),不用带参数,直接运行它即可。
表示されるURLをブラウザで開けばOK。
用浏览器打开(运行脚本后)显示的网址就可以了。
指定できるパラメータは6つ
提供了7个可以调节的参数(原作者写的6个,笔误?)
プロンプト(正面提示prompt)
ネガティブプロンプト(反面提示prompt)
高さ(高度)
横幅(宽度)
ステップ数(迭代步数)
CFG(关键词相关度)
シード値(随机种子号)
シード値を空にした場合、ランダムシードが使われます。
若随机种子号留空,则使用随机数来充当种子号。
画像はoutputsディレクトリにパラメータを付けたファイル名(例:any3_step40-cfg7.5-3795608005.png)でどんどん保存されます。
生成的图片存在outputs文件夹中,图片用生成参数来命名(例如:any3_step40-cfg7.5-3795608005.png)。
また、いちいちクリックしなくていい様、プレビュー欄を生成画像サイズと一緒にしてあります。
此外,预览框中会展现生成的图像,因此您不必一遍一遍地点出去看图。

とりあえず、ようやく表現に凝った絵を試せるようになった、と思えました。
一时之间,我想我终于可以尝试一幅表现精巧的画了。
それでもCUDA(AUTOMATIC1111)環境には遠く及びません。
(只做了基础的功能,)和AUTOMATIC1111的原版还差的远……
さしあたりでも欲しい機能はコレ。やり方がわからないけど。
以下功能是我想搞的,但还没弄明白怎么弄:
複数回の一括生成(多次批量生成)
スケジューラの変更(更换扩散算法)
複数回生成は一度にn個の画像をInterfaceでどう並べるのか分からない。結合サムネイルを作るなんてなおさら。
关于多次批量生成,我还不知道如何在界面上一次排列多个图像。做成缩略图这种,就更不明白了。
スケジューラはDDIMを試してみましたが、収束しない?絵になってしまい頓挫。どうやらonnxで多くのスケジューラがこうなってしまうそうです。
扩散算法,我试了DDIM,但它没有收敛?出来的图很怪。看来,他们ONNX这套东西,把好多扩散算法都搞出问题了。

建议保持ort_night_directml是最新版
【ort_nightly_directml更新がおすすめ】
初回構築時には”ort_nightly_directml-1.13.0.dev20221003004”を使いました。
头一回使用时,我用的是”ort_nightly_directml-1.13.0.dev20221003004”这个版本。
それが今は最新が”ort_nightly_directml-1.14.0.dev20221118001″になっています。
目前(作者写此文时)的最新版是”ort_nightly_directml-1.14.0.dev20221118001″这一版。
これが生成スピードに大きな影響をあたえるようです。
这似乎对生成速度有很大的影响。
他の人のコメントでもかなり向上したそうですし、自分も体感できました。
别人说(更新版本后)生成速度有很大的提高,我自己也亲身体会到了。

定期的なアップデートがおすすめ。
建议定期更新到最新版。

2022/12/01更新
書いてある2つの機能をバージョンアップ追加しました
作者把上面那两个功能搞出来了,发了新帖,能连上的可以看看:https://dolls.tokyo/amd_anything_webui_verup/

P.S.果然A卡的群众基础还是不行啊……