微軟提供的 DirectML(https://learn.microsoft.com/zh-tw/windows/ai/directml/dml) 技術,是基於 DirectX 12.0 建構的機器學習框架,原則上只要能支援DirectX 12.0的繪圖晶片就能運作。以 AMD 繪圖晶片為例,只要是GCN架構(Radeon HD 7000)之後(含)的都可以支援。
Stable Diffusion 使用的 PyTorth,是使用 nVidia 的 CUDA 語言控制運算資源。因此,才有了必須要 nVidia 顯示晶片才能運行的限制。好在目前已經有使用 DirectML 控制運算資源的 PyTorch with DirectML(https://pypi.org/search/?q=pytorch-directml)。再搭配網路大神們提供的 Stable Diffusion Web UI with DirectML(https://github.com/lshqqytiger/stable-diffusion-webui-directml),便能輕鬆實現運作。
Note: 目前 DirectML 的效能大約介於純用 CPU 運算和使用 CUDA 之間,若是重度需求,還是建議直接用 nVidia 繪圖晶片


Leave a comment