(一)现象
在Windows11下训练Stable-Diffusion的LoRA模型的时候,总是重复提示:
A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named ‘triton’
意思是:
没有匹配的 Triton,一些优化将不会被启用。
捕获的错误是: 没有名为 "TRITON "的模块
虽然过程并不会中断,但是看着好难受。
(二)分析
上网搜了一下,应该是 xformers 需要用到 Triton 进行优化工作。
网上有人说:
并没有Windows下的Triton,所以Windows下会报错,而Linux就有Triton。
直接安装果然没有:
> pip install triton
ERROR: Could not find a version that satisfies the requirement triton (from versions: none)
ERROR: No matching distribution found for triton
但实际上有大神编译了Windows下二进制:
🔗triton-2.0.0-cp310-cp310-win_amd64.whl
(三)安装
下载triton-2.0.0-cp310-cp310-win_amd64.whl
后安装:
⚠️根据实际情况,你可能也需要安装在项目虚拟环境中,请参考(3.1)章节。
> python.exe -m pip install triton-2.0.0-cp310-cp310-win_amd64.whl
结果又又提示要CMake……且自动下载cmake-3.26.3-py2.py3-none-win_amd64.whl
巨慢无比,天朝网络啊……
只好用迅雷下载,参考页面:🔗https://pypi.org/project/cmake/#files。
然后手动安装。
⚠️根据实际情况,你可能也需要安装在项目虚拟环境中,请参考(3.1)章节。
> python.exe -m pip install cmake-3.26.3-py2.py3-none-win_amd64.whl
> python.exe -m pip install triton-2.0.0-cp310-cp310-win_amd64.whl
(3.1)项目虚拟环境
不好意思之前没说清楚。
上面的安装,我这里都需要装在 >>项目的虚拟环境<<中,不能直接python.exe
执行装在本机自身环境里。
需要进入项目目录,然后下面这样:
👇👇👇👇👇👇
> .\venv\Scripts\python.exe -m pip install triton-2.0.0-cp310-cp310-win_amd64.whl
☝☝☝☝☝☝
(3.2)环境版本问题
评论区有反馈说报错:
triton-2.0.0-cp310-cp310-win_amd64.whl is not a supported wheel on this platform
我检查了,确认这个triton链接和我本地安装的确实是同一个文件(SHA256:)。
那是不是报错环境的问题呢?python或pip版本不支持这个?我无法确定,自己看看,不支持就升级嘛。
我的是python 3.10
和pip 23.0.1
。并且查看是支持它的,如下:
PS D:\lora-scripts> .\venv\Scripts\python.exe -m pip debug --verbose
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
pip version: pip 23.0.1 from D:\lora-scripts\venv\lib\site-packages\pip (python 3.10)
sys.version: 3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
sys.executable: D:\lora-scripts\venv\Scripts\python.exe
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: cp936
sys.platform: win32
sys.implementation:
name: cpython
'cert' config value: Not specified
pip._vendor.certifi.where(): D:\lora-scripts\venv\lib\site-packages\pip\_vendor\certifi\cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
CacheControl==0.12.11
colorama==0.4.6
distlib==0.3.6
distro==1.8.0
msgpack==1.0.4
packaging==21.3
platformdirs==2.6.2
pyparsing==3.0.9
pyproject-hooks==1.0.0
requests==2.28.2
certifi==2022.12.07
chardet==5.1.0
idna==3.4
urllib3==1.26.14
……太多了省略掉
Compatible tags: 36
cp310-cp310-win_amd64 #就是这个地方,看看你的支持吗,cp310?
cp310-abi3-win_amd64
cp310-none-win_amd64
cp39-abi3-win_amd64
cp38-abi3-win_amd64
cp37-abi3-win_amd64
cp36-abi3-win_amd64
cp35-abi3-win_amd64
cp34-abi3-win_amd64
……
PS D:\lora-scripts>
以上✋
然后就OK了,那边的训练PowerShell窗口里就不报错了。文章来源:https://www.toymoban.com/news/detail-427716.html
(三)与主题无关
PS:继续吐槽一下咱的网络,好像56kbps猫上网的时代(是的,乖乖用国内源吧,比如清华大学):
文章来源地址https://www.toymoban.com/news/detail-427716.html
到了这里,关于分析解决【No module named ‘triton‘】的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!