已安装sentence-transformers却无法导入,torch依赖fbgemm.dll报错求助
问题描述
已通过pip list确认sentence-transformers和torch均已安装且为最新版本,但运行生成SBERT嵌入的Python脚本时,始终出现无法加载fbgemm.dll或其依赖项的错误。尝试过全局环境、conda/venv虚拟环境,更换Python和包版本组合,卸载重装torch等操作,问题仍未解决。
运行脚本
import numpy as np import pandas as pd from sentence_transformers import SentenceTransformer # Load the SBERT model model = SentenceTransformer('all-mpnet-base-v2') # Load the dataset input_file = 'PJ_whole_conversations_row_per_conversation_v1.csv' df = pd.read_csv(input_file) # Generate embeddings for the "message" column messages = df['message'].tolist() embeddings = model.encode(messages, convert_to_numpy=True) # Save embeddings to NumPy file output_file_numpy = 'row_per_conversation_embeddings.npy' np.save(output_file_numpy, embeddings) print(f'Embeddings have been generated and saved to {output_file_numpy}')
错误信息
Exception has occurred: OSError [WinError 126] The specified module could not be found. Error loading "C:\Users\nea\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. File "C:\Users\saham\OneDrive\4. Semester\Independent Research Project\Python_scripts\row_per_conversation_word embedding.py", line 3, in <module> from sentence_transformers import SentenceTransformer OSError: [WinError 126] The specified module could not be found. Error loading "C:\Users\nea\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.
解决方案
- 安装Microsoft Visual C++ Redistributable运行库:
fbgemm.dll依赖VC组件,下载安装对应x64版本的VC Redistributable(2019或2022版本),重启系统后重试。 - 安装纯CPU版本torch:若没有NVIDIA GPU,卸载现有torch,执行
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu安装CPU专属版本,规避GPU相关依赖缺失问题。 - 降级Python版本:Python3.11与部分torch版本存在兼容性问题,尝试切换到Python3.10,重新创建虚拟环境并安装所有依赖。
- 排查并补全依赖项:使用Dependency Walker工具扫描
fbgemm.dll,查看缺失的系统依赖dll,下载匹配x64架构的对应文件放入系统目录或torch的lib文件夹。 - 强制重装依赖:删除torch的安装目录,执行
pip install --force-reinstall torch sentence-transformers清理残留文件后重新安装。
内容的提问来源于stack exchange,提问作者Nea13
相关产品推荐
相关产品推荐

