LLaVA微调debug:ImportError: xxx/flash_attn_2_cuda.cpython-310-x86_64-linux-gnu.so: undefined symbol:

完整报错信息:

ImportError: /home/linjl/anaconda3/envs/sd/lib/python3.10/site-packages/flash_attn_2_cuda.cpython-310-x86_64-linux-gnu.so:
undefined symbol:_ZN3c105ErrorC2ENS_14SourceLocationENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

flash-attn版本问题,到官网上下载对应自己cuda和torch版本的whl文件,再安装,注意我一开始下了这种TRUE的版本,出现了以上错误,改下FALSE版本后解决。
下载链接:
https://github.com/Dao-AILab/flash-attention/releases?page=1

一开始报错的版本:
https://github.com/Dao-AILab/flash-attention/releases/download/v2.5.6/flash_attn-2.5.6+cu122torch2.1cxx11abiTRUE-cp310-cp310-linux_x86_64.whl

没问题的版本:
https://github.com/Dao-AILab/flash-attention/releases/download/v2.5.6/flash_attn-2.5.6+cu122torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

注意是那个TRUE和FALSE的问题!!!

更新:换机器后再次出现这个问题,而且TRUE和FALSE都没用,要再加上这个命令:

pip uninstall  transformer_engine
更改`huggingface_hub/file_download.py`文件所在的路径通常不是直接修改文件本身,因为这通常是库内部结构的一部分,而不是用户可以直接访问的地方。如果你想在特定环境中使用自定义版本的这个文件,你应该按照以下步骤操作: 1. **复制文件**: - 首先,你需要将`file_download.py`从Hugging Face Hub克隆到你的项目目录下,或者从本地下载一份到你想替换的位置。 ```sh git clone https://github.com/huggingface/huggingface_hub.git ``` 或者下载到相应位置: ```sh cp /path/to/huggingface_hub/file_download.py /path/to/your/project/ ``` 2. **环境配置**: - 如果你是在Miniconda环境中,你需要创建一个新的虚拟环境并激活它,然后将这个自定义文件夹添加到`sys.path`里,以便Python能够找到它。例如: ```sh conda create --name myenv conda activate myenv python -c "import sys; sys.path.append('/path/to/your/project/'); print(sys.path)" ``` 3. **更新导入路径**: - 现在,在你的项目的代码中,当你需要使用`file_download.py`时,需要指定正确的模块路径,如`from your_project.file_download import *`。 4. **注意覆盖**: - 要保证改变不会影响其他依赖,只在当前项目或特定环境设置中生效。如果你希望更改对所有环境都有效,可能需要创建一个自定义的包并发布。 请注意,对库源代码直接做这样的修改并不是一个好的实践,可能会导致升级困难和潜在的问题。正常情况下,如果需要对库的行为有定制,建议查阅官方文档寻找替代的API或者提交GitHub issue寻求支持。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值