見出し画像

【解説】Stable Diffusion WebUIの「TensorRT」拡張を導入&試してみる。



◆TensorRTとは

NVIDIAが提供しているディープラーニング向けのソフトウェア開発キット
…と言われてもピンと来ませんよね!!!

推論をうまいことやってくれるものって感じです。

一応1月後半には出てました(導入がしんどかったけど)


◆TensorRTを使うメリット

爆速になります。これがでかいです。
公式の比較がこちら。

通常より2.5~3倍早いです!
爆速です。じぇっと!!

xformersくんは泣いていい


◆デメリットもあるんでしょ?

それはまぁもちろんはい。

  • モデル切り替えに時間がかかる

    • モデルごとに変換を行うためです。

  • 拡張機能が効かなくなる場合がある。

    • 基本使えないと思って下さい。

  • LoRAとか使うのがややこしい。

    • これも拡張と同様。

画像生成でガチャ回すだけに特化するって感じになると思います


◆導入の条件

条件も先程のサイトに載っています。

  • GPU : RTX系で尚且つVRAM8GB以上

  • RAM : 16GB

  • ドライバのバージョンが537.58以降

普段生成してる方ならクリアできてる方が多いかと思います。


◆導入にあたって

今後どうなるかわからないので、
『新規環境で新しくはじめる』
のをおすすめします。
(現時点で使ってる環境でやると不具合が出る可能性があるため)

今回は1からWebUIを構築します。


◆WebUIの構築

多分この記事読んでる方は「んなもんできるべ」って方が多いと思います。
とりあえず書いておきますね🙏

python -m venv venv
venv\Scripts\activate.bat

とりあえず仮想環境

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

WebUIをクローン。
できたらモデルをぶち込んでコマンドラインを変えて起動!!
おしまい!

わからない方は本に全部書いてあるのでよろしければどうぞ(宣伝)


◆「TensorRT」拡張の導入

WebUIを起動し、拡張のタブを開きます。

上記のGitHubページにアクセスし、画像の通りコピペします。

cloneするアドレス
URL for extension's git repositoryにアドレスをペーストしてインストール

インストール後、WebUIを再起動します。
しないと反映されないどころかバグります。多分。

再起動後、このようなタブが出たら導入成功です。
cuDNNを導入してない場合は「そんなもんないぞ」って怒られます。
しておきましょう。

再起動時にエントリーポイントのエラーが出ますがバグらしいです。
とりあえず動くので多分大丈夫…なはず。


■cuDNN導入

上記サイトにアクセス後、会員登録をします。
その後、「Download cuDNN Library」をクリックしダウンロードします。
基本的には「for CUDA 11.x」の方で大丈夫です。

その後、CUDAが入っているファイルにある「cudnn」フォルダに中身をコピペします。
ない場合は作って下さい。

その後環境変数を設定しPathが設定されているか確認して下さい。


◆モデルの変換

ここからはモデルの変換をしていきます。
生成画像やモデルによりモデルを変換しないとだめらしい(?)

TensorRTタブを開き、とりあえずdefaultで『Export Engine』をクリック。
しばらく時間がかかりますが、successfulとでたら変換完了です。

下の🔄ボタンを押すと適用されます。


◆画像生成

いざ生成です。
とはいっても通常通り生成するだけです。

512x512

1.2秒です。早いですね。
比較として通常の生成でやってみます。

通常

1.7秒。正直誤差だろ?と言われそうですが、ワンテンポ早いです。
結構目に見えて差が出ますね。

お次は512x768。

TensorRT 1.5-1.7s
通常 2.1-2.3s

はやい!!0.6秒ぐらい差が出ています。
1ランクグラボの性能が上がった感じです。(体感)

変換次第で1024x1024とかもできるので使えそうですね~


◆まとめ

  • 生成特化だが爆速

  • モデル変換に時間が掛かるが使い勝手は変わらず。

  • 目に見えて早くなるのでなんか嬉しい!

  • でもあんま使わん

以上!!!
おわります。


この記事が気に入ったらサポートをしてみませんか?