最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【AI作畫】【A卡】更新了給A卡用的WebUI,支持批量生成、更換擴散算法【中日對照翻譯】

2022-12-09 23:23 作者:蒙舌上単  | 我要投稿

原帖地址:https://dolls.tokyo/amd_anything_webui_verup/

原標題:AMDのWindowsマシンで動くAnythingV3.0 WebUIを更新(スケジューラと複數(shù)枚生成)

原作者:ぶっちー

時間:2022-12-01

注:此文是https://dolls.tokyo/howto_amd_anything_webui/ 的后續(xù),本人也翻了這一篇。

在此表示感謝。未獲授權(quán),僅供學(xué)習(xí)交流,侵刪

ありがとうございます。著作権を侵害したら、すぐに削除します。

個人日語水平有限(N4),機翻加潤色,渣翻,不當之處敬請斧正。?

グラボを換えてもDirectMLは死なず。

即便更換了顯卡,DirectML也不會死掉(因為它是A、I、N卡都能通用的)。(所以這套東西理論上可以用在核顯上)

という事でやりかけになっていたWebUIをとりあえず形にしたのでここで供養(yǎng)します。

將這個WebUI(雖然只是半成品)放在這里,供大家使用。


3090TiでもAMDの時のDirectML環(huán)境がそのまま動いたので多分使えます。

給A卡用的這套東西,在N卡上也可以食用。

注:作者搞了一個二手的3090Ti來玩。

A卡可用的WebUI腳本

【AMD WebUI スクリプト】

前回記事はこちら

之前寫過一篇文章在這里:

【https://dolls.tokyo/howto_amd_anything_webui/】(本人翻譯了這篇)

機能アップを重ねて第6版まできました(gr_6.py)

這是增加了功能的第6版腳本(gr_6.py)

使用方法

【使い方】

基本的な環(huán)境作成(配置基礎(chǔ)環(huán)境)

前回同様、以下の記事を「學(xué)習(xí)データのダウンロードとOnnxへの変換」まで進めてください。

和上回一樣,按下面這篇文章里記述的流程,做到【將模型轉(zhuǎn)換為ONNX格式】這一步。

【https://dolls.tokyo/howto-amd-sd-win/】《とうとうRyzen + RADEONのAMD環(huán)境にもWindowsで動くStable Diffusionがきた》(未翻譯,能直連的可以參考下)

途中でダウンロードするonnxruntime(”ort_nightly_directml-….”)は記事のバージョンではなく最新の物をおすすめします。

上述文章的流程中,讓你下載onnx運行時環(huán)境(”ort_nightly_directml-….”),請用現(xiàn)在的最新版本,而不是用文章里寫的那版。


DL&変換のためのスクリプトを準備したら、アニメ特化のAnything Ver3.0をダウンロード&変換します。

準備好轉(zhuǎn)換模型格式的python腳本之后,下載專門為二次元插畫特化的Anything Ver3.0模型,并進行轉(zhuǎn)換。

(譯者注:模型的路徑因人而異,請自行修改。)

diffuserのバージョンを0.5.1まで上げます(後述)。

要把diffuser的版本更新到0.5.1(后面會提到)。

2つのファイルを修正します。

有兩個文件需要做點修改。

まず\virtualenv\Lib\site-packages\diffusers\schedulers\scheduling_ddim.pyの264行目を修正。

修改\virtualenv\Lib\site-packages\diffusers\schedulers\scheduling_ddim.py的第264行

次に\virtualenv\Lib\site-packages\diffusers\pipelines\stable_diffusion\pipeline_stable_diffusion_onnx.pyの169行目

然后修改\virtualenv\Lib\site-packages\diffusers\pipelines\stable_diffusion\pipeline_stable_diffusion_onnx.py的第169行

これでWebUIを起動してください。

之后,可以啟動WebUI了。

なお実行時に”scipy”,”accelerator”のモジュールを求められたらpip installで追加してください(未確認)。

另外,如果您運行時,提示缺少“scipy”、“accelerator”等模塊,請用pip install命令把這些模塊裝上(我自己還沒試過)。

以下は調(diào)査記録というか、自分の知識の袋小路メモです。

以下是我的調(diào)查記錄,或者更確切的說,我的私人(?)筆記。

奇特な方だけどうぞ。

請(那些無私分享的人?)閱覽。


增加功能①:更換擴散算法

【追加機能1.スケジューラ追加】

できるかぎり新しいDiffuserを(盡可能使用新版本的diffuser)

StableDiffusion=お絵かきAIで「何ができる、何ができない」というのは大きくdiffuserのバージョンに依存します。

使用StableDiffusion這個繪圖AI,”能做什么、不能做什么“很大程度上取決于diffuser的版本。

例えばダメ要素を指定するNegative PromptはDiffuser 0.4.0の新機能でした。

比如,反向提示詞就是diffuser 0.4.0版本新增的功能。

よって當初參照した記事の通り0.3.0のままだと、今となっては古い(といっても數(shù)ヶ月前)機能しか使えません。

正如我之前引用的那篇文章那樣,如果它還是舊的0.3.0版本(即使它是幾個月前才發(fā)布的),那么只能用上舊的功能。

そこでどこまでdiffuserを最新にできるかを試しました。

于是我就試了一下能把diffuser更新到什么程度。

結(jié)果、改造無しで上げられるのはdiffuser Ver.0.5.1まで。

結(jié)果,不需要做什么改造,就順利升到了0.5.1版本。

これ以上はテンソルがなんだ、VAEがなんだと言われ自分には解決できませんでした。

但在這基礎(chǔ)上(再往上升),Tensor是什么、VAE是什么……這些事情,自己就沒能搞定了。

ともかく0.5.1にする事で使えるスケジューラ(サンプラー)の幅が少し広がりました。

總之,0.5.1版本中,可以使用的擴散算法,稍微增加了一些。

“.\Lib\site-packages\diffusers\__init__.py”を見る限り、v0.5.1にて使えるスケジューラは以下の通り(Flex…は除く)。

就“.\Lib\site-packages\diffusers\__init__.py”這個文件而言,能夠看出0.5.1支持以下的擴散算法:(Flex…系列除外。)

  • DDIMScheduler

  • DDPMScheduler

  • KarrasVeScheduler

  • PNDMScheduler

  • SchedulerMixin

  • ScoreSdeVeScheduler

このそのまま動いたのは”DDIMScheduler”と”PNDMScheduler”のみ。

實際上,只有“DDIMScheduler”和“PNDMScheduler”這兩個是能夠正常使用的。

これに無指定の際にデフォルトで仕様されるスケジューラ(名稱不明)の合計3つが自分の動かせたスケジューラです。

如果我不指定使用哪一種擴散算法,它會使用一種默認的算法,且能夠正常工作(但我不清楚它叫什么)。能夠正常使用的,一共就這3種了。

KarrasVeSchedulerについては実際にGenerateさせようとすると

如果用KarrasVeScheduler這個來生成,它會報以下的錯誤:

DDPMSchedulerについては

如果用DDPMScheduler的話,又會報這樣的錯誤:

というエラーで止まります。

然后停止工作。

解決方法が分かる人いたら教えてください。

我并不知道如何解決,如果有誰知道的話,還請不吝賜教。

SchedulerMixinとScoreSdeVeSchedulerについては別の用途らしくわかりませんでした。

SchedulerMixin和ScoreSdeVeScheduler這兩個,我沒太看懂,它們好像有別的用途?

原作者引了一段,應(yīng)該是解釋這些算法用途的:(英語就不翻了)

https://huggingface.co/docs/diffusers/v0.9.0/en/api/schedulers#diffusers.ScoreSdeVeScheduler

variance exploding stochastic differential equation (VE-SDE) scheduler

The variance exploding stochastic differential equation (SDE) scheduler.

For more information, see the original paper: https://arxiv.org/abs/2011.13456

完善WebUI腳本

【スクリプト補足】

無指定(標準)+DDIM+PNDMの3つにしぼり、選択式のラジオボタンを設(shè)定しました。

使用單選框,來指定使用哪種擴散算法。從能正常使用的那3種中選1個來使用。

Schedulerの選択(選擇擴散算法)

無指定以外はScheSetにパラメータを入れ、パイプラインに渡します。

除非使用默認的那一種,否則將對應(yīng)的參數(shù)拿來構(gòu)造ScheSet,再傳遞給Pipeline的構(gòu)造函數(shù)。

変數(shù)はHugging FaceのSchedulersを參照。

參數(shù)的取值,參見HuggingFace的Schedulers的文檔。

パイプラインの設(shè)定(Pipeline的構(gòu)造)

無指定の場合のみ、パイプラインにscheduler=が書いてあるとエラーになりました。

如果未指定擴散算法(即使用默認的那一種),會報ScheSet未定義的錯誤。

よってifで回避しています。

因此加個if條件語句,來避免這種情況。

pipe.safety_checkerはsfwチェックを無効化するもの。

pipe.safety_checker?這一句,用來禁用SFW檢查,(之后就可以澀瑟了)

不同擴散算法下,畫出來圖片的差異

【スケジューラによる作畫の違い】

Anything V3.0モデルから。

使用(轉(zhuǎn)換好的)Anything V3.0模型。

正向提示詞:cool woman waring dress, wind,solo,multicolor
反向提示詞:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,mecha,nsfw,looking at viewer,breast,loli
迭代步數(shù):25
關(guān)鍵詞相關(guān)度:7.5
隨機種子:1528346647

默認擴散算法
DDIM擴散算法
PNDM擴散算法

DDIMが一番細部のディティールを描き分けられています。

DDIM出來的圖,細節(jié)是最好的。

麥わらの端や服のシワ、髪の毛の揺れ具合など。

草帽的邊緣,衣服的褶皺,頭發(fā)的飄動等(都是相當不錯的)。

左手の表現(xiàn)はDefaultの方が崩れが少ないですが場合によりそう。

默認算法出來的圖,左手沒那么崩。但也要結(jié)合具體的場景來看。

PNDMはDefaultに近いですが、左手が崩れてしまっています。。

PNDM跟默認的十分相似,但是左手已經(jīng)完全崩壞了……


次いでStableDiffusion V1.5モデル。

之后是StableDiffusion V1.5模型。

正向提示詞:Aerial Shoot of skyscraper stand on solitary on a lagoon island, Emerald green sea, Dubai, The vast ocean, highly detailed, 8k, ultra-wide shot, sunny, art by greg rutkowski
反向提示詞:Distorted
迭代步數(shù):30
提示詞相關(guān)度6
隨機種子:3096771901

默認算法
DDIM
PNDM

題材の問題なのか、Anythingほどスケジューラによる差は生まれませんでした。

是因為題材的問題嗎?沒有產(chǎn)生像Anything模型那樣,不同擴散算法間的明顯差異。

特にDefaultとPNDMは差を見つけるのが難しいほど。

尤其是默認和PNDM兩種,難以辨認出差異。

Stepを75まで上げたら肉眼での差はわかりませんでした。

迭代步數(shù)拉到75以上的話,就很難用肉眼看出兩張圖的差別了。

2つは非常に似たスケジューラなのかもしれません。

這兩種擴散算法真的非常相似。(或者,根本就是同一種?)

DDIMは霞ががる遠景の空気感も書き分けられているとも言えます。

而DDIM將光影和遠景的淡化都表現(xiàn)出來了。

增加功能②:更換擴散算法

【追加機能2.複數(shù)枚生成】

UIをどうするとか面倒だったので、./outputフォルダに指定枚數(shù)を吐き出すだけのシンプルな実裝にしました。

因為做(展示多圖的)UI很麻煩,所以只是簡單地實現(xiàn)了輸出指定張數(shù)的圖片。

どうせWindowsなら無理にブラウザ內(nèi)で見るより、フォルダ開いてフォトアプリとかで開いたほうが早いし。

反正是Windows系統(tǒng),比起在瀏覽器里看,還是打開文件夾用圖片查看器來得更快些。

生成枚數(shù)はスライダーを使い最大20枚まで指定できます。

最多允許一次生成20張,可以拖動滑動條來指定生成的張數(shù)。

シード値を指定した場合、最初の1枚だけを指定値で生成。あとはランダムシードになります。

如果給定了一個種子號,那么只有第一張使用這個種子號。其它幾張還是使用隨機種子。

WebUIにプレビューされる畫像は最後に生成された畫像なのでご注意下さい。

在瀏覽器的預(yù)覽框中展示的是生成的最后一張圖片,這點還請注意。


とまあ???作りは適當だけど目的は達した感。

嘛……制作(這套東西出力)適當,感覺剛好達到了目的。(?)

コレでようやくAMDのグラボでもシードガチャしやすくなったと思います。

這樣一來,總算是能夠(方便地)用A卡來“抽獎”了。




【AI作畫】【A卡】更新了給A卡用的WebUI,支持批量生成、更換擴散算法【中日對照翻譯】的評論 (共 條)

分享到微博請遵守國家法律
墨玉县| 南召县| 麦盖提县| 太和县| 右玉县| 密山市| 泸州市| 安图县| 新宾| 陆川县| 岱山县| 青冈县| 龙游县| 黎川县| 牡丹江市| 六枝特区| 静乐县| 安义县| 新和县| 井冈山市| 周至县| 贵德县| 平泉县| 福安市| 赤水市| 达孜县| 卢氏县| 晋中市| 瓮安县| 武夷山市| 锡林浩特市| 长武县| 临澧县| 汝阳县| 綦江县| 乐安县| 新乡县| 马龙县| 龙江县| 平泉县| 福鼎市|