安装xformers,给AI画图工具stable-diffusion提速的教程

安装xformers,给AI画图工具stable-diffusion提速的教程
2023年04月15日 17:33 什么值得买

作者:yasden

你希望你的女朋友头发是什么颜色?

粉红色可以吗?

或者金黄色?

上面的三张图都是AI画出来的。AI画图目前的发展很快!其中stable diffusion是一款开源而且免费的AI画图软件。

xformers可以大大节省AI图片生成时间,节省GPU缓存!

下图是我用stabel diffusion软件在macbook笔记本电脑上画出来的AI图,还算很写实吧?

stable-diffusion软件在手,实现壁纸自由,从此自己生成AI壁纸。

我之前在linux系统使用stable-diffusion这款AI画图软件,都是先在终端cd到stable-diffusion-webui这个文件夹下面,然后用下面的命令来启用stable-diffusion:

python launch.py

用了一段时间后,我发现,使用stable diffusion的时候xformers没有开启,显示下面的文字提醒(见下图):

No module 'xformers'. Proceeding without it.

xformers没有开启的话,会使的AI图片的生成时间变长,GPU显存占用量变大,如果你有100GB的显存(一张4090显卡只有24GB显存),那么不用xformers也无所谓了。但是你真的显存真的有100GB吗?如果有的话,恭喜你,你可以开启100GB显存的强大GPU世界了。

xformers是什么?

xfromer是给nvidia显卡进行加速的程序,有xformer可以给你使用stable-diffusion软件时,节省大量时间和显存,时间就是生命,时间能省就是增加生命的时间!所以,如果你使用stable-diffusion软件的话,xformer怎么也要把它搞成功呀。

于是我又开启了折腾如何开启xformers模式的进程中。

网上各种方法我都试过了,搜索引擎上找到的解决方案,我一个一个的试验,发现包括bilibili上面的方法,没有一个成功的,也许使用linux的朋友太少,找不到类似的解决方案。大家都用windows来玩stable-diffusion的吗?难道windows就不会遇到这个问题?

刚开始按照网上的方法进行了之后,运行python launch.py,看到下图的提示Installing xformers我可开心坏了,你说都开始安装xformers了,怎么也能解决问题了吧?

可是我想多了,xformers还没安装成功,就出现下图的提示,plesase reinstall xformers:

也许我遇到的问题和别人的不一样,后来我又在网上看到一个方案是加一个--xformers的单词,在下面的这句话加一个单词:在launch.py这个文件的这条语句加--xformers这个单词,变成类似下面的语句(注意,下面这两条语句我是凭记忆写的,具体怎么改请参考网上教程):

commandline_args = os.environ.get('COMMANDLINE_ARGS=--xformers', "")或者

commandline_args = os.environ.get('COMMANDLINE_ARGS=', "--xformers")

我按照网上的教程改了commandline_args = os.environ.get这个语句,发现照样不行。

后来我去xformers官网找解决方案,官网是这么说的,要运行下面的8条命令来安装xformers:

我按照官网的方法,安装了这8条命令,发现也不行。

后来无意间发现,有一位外国的网友介绍了一个解决方案:

这位名叫jpollard-cs的网友说了一堆的命令,大家自己看上面的,我没有按照他前面说的那一堆命令去做,我按照他最后提到的一条命令,使用下面的命令来运行stable-diffusion软件:

bash webui.sh --xformers  

就是先cd到stable diffusion webui的目录下面,然后用bash webui.sh --xformers  这个命令来运行stable diffusion,神奇的事情发生了:

webui.sh先是创建了一个stable-diffusion-webui的文件夹,然后开始从头安装stable-diffusion所需的依赖包,包括xformers、Taming Transformers、K-diffusion、CodeFormer等等(注意,必须先搞定家里的网络,不然下载Taming Transformers、K-diffusion、CodeFormer等等包的过程中,会卡住不动的),这些包自动安装完成后,webui.sh还会自动下载一个stable diffusion模型,最后,终端会出现一个127.0.0.1:7860的本地网址,代表xformer开启成功了,将127.0.0.1:7860的这个本地网址拷贝到浏览器打开即可开始使用有xformers加速的stable diffusion软件:

xformers成功开启会显示下面的英文提示:

Launching Web UI with arguments: --xformers

Applying xformers cross attention optimization.

看到上面的两句英文提示,代表xformers成功运行在stable-diffusion软件上了!

xformers可以大大节省AI图片生成时间,节省GPU缓存!必须开启它。

总结

以后运行stable-diffusion软件,请cd到stable-diffusion-webui文件夹下面,然后用下面的命令来启动xformers和stable diffusion软件:

bash webui.sh --xformers 

全文完,谢谢观看!

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部