在搭配TensorRT運算框架針對U-Net運算部分進行最佳化之後,可以顯著提升NVIDIA顯示卡進行Stable Diffusion AI算圖的效能,讓我們一起搶先測試它的效果如何。
在搭配TensorRT運算框架針對U-Net運算部分進行最佳化之後,可以顯著提升NVIDIA顯示卡進行Stable Diffusion AI算圖的效能,讓我們一起搶先測試它的效果如何。
利用TensorRT強化運算效能
如果讀者想要嘗試TensorRT運算框架的最佳化效果,可以先參考GitHub上stable-diffusion-webui-tensorrt項目的「trt_overhaul」分枝,跟著說明操作就能安裝必要程式、轉換模型,並享有最佳化的效能提升。
目前Stable Diffusion WebUI所使用的TensorRT運算框架還處於相當早期的開發階段,儘支援U-Net運算部分的最佳化,且輸出圖像解析度僅支援512 x 512、768 x 768,且無法藉由Hires Fix.功能變更輸出圖像解析度。
▲讀者可以追蹤該GitHub資訊,以掌握版本更新資訊。
實際動手玩
使用trt_overhaul的整個流程需要先安裝對應的外掛程式,在安裝過程中預先寫好的腳本會自動安裝所需的相依程式。之後使用者需要先將Stable Diffusion的模型(checkpoint或safetensors格式)轉換為ONNX格式模型,接著再次轉換為TensorRT格式。
需要注意的是,轉換為TensorRT格式模型的步驟將花費較長的時間,且需要指定想要轉換的解析度與批次尺寸(Batch Size,同時算圖的數量),並會分別轉檔得到多組專用模型,在圖像生成的時候只能使用匹配的模型,無法混搭使用。
實際的安裝與使用方式請參考下列圖文說明。
參考筆者的實際使用經驗,僅能使用指定解析度且不能使用Hires Fix.功能,造成生成圖片的解析度沒有調整彈性,讓目前TensorRT運算框架的實用價值大打折扣,希望未來能改善這個狀況。
截稿後更新
由於筆者完稿後,程式又更新了版本,加入了在轉換TensorRT格式模型的步驟可以自定解析度與多種設定的功能,筆者將在之後更新對應的教學。
加入電腦王Facebook粉絲團