PyTorch中loading fbgemm.dll异常的解决办法

 更新时间:2024年08月16日 09:58:44   作者:一叶飞舟  
PyTorch是一个深度学习框架,当我们在本地调试大模型时,可能会选用并安装它,目前已更新至2.4版本,本文给大家介绍了PyTorch中loading fbgemm.dll异常的解决办法,文中通过代码和图文介绍的非常详细,需要的朋友可以参考下

一、安装必备

1. window

学习或开发阶段,我们通常在window环境下进行,因此需满足以下条件:

Windows 7 and greater;
Windows 10 or greater recommended;
Windows Server 2008 r2 and greater;

2. python

准备一个python环境,需满足以下条件:

Python 3.8-3.11(支持);
Python 2.x(不支持);

3. install pytorch

正式安装pytorch执行如下命令(默认最新版):

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

安装successful后,可看到如下界面(来自pycharm):

二、异常情景

1. 请求GPT-2

博主拿GPT作为示例(来自官方),新建一个python文件并取名为hello_GPT2.py,目的是完成gpt2模型的调用,下面是源码 :

from transformers import GPT2LMHeadModel, GPT2Tokenizer

# 指定模型名称
model_name = 'gpt2'

# 加载模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained(model_name)

model = GPT2LMHeadModel.from_pretrained(model_name)

# 输入文本
input_text = "Once upon a time"

# 对输入文本进行分词
inputs = tokenizer.encode(input_text, return_tensors='pt')

# 生成文本
outputs = model.generate(
    inputs,
    max_length=100,  # 生成文本的最大长度
    num_return_sequences=1,  # 生成序列的数量
    temperature=0.7,  # 温度控制生成的多样性,值越高,生成的文本越随机
    top_k=50,  # 控制生成的词汇范围,值越小,生成的文本越集中
    top_p=0.9  # 采样阈值,控制生成的文本多样性
)

# 解码生成的文本
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)

print("生成的文本:")
print(generated_text)

2. 异常Traceback

当我们执行上面的代码时,极容易遇到以下异常:

Traceback (most recent call last):
  File "D:\projects\PycharmProjects\llm_openai_gpt\hello_GPT2.py", line 1, in <module>
    from transformers import GPT2LMHeadModel, GPT2Tokenizer
  File "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\transformers\__init__.py", line 26, in <module>
    from . import dependency_versions_check
  File "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\transformers\dependency_versions_check.py", line 16, in <module>
    from .utils.versions import require_version, require_version_core
  File "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\transformers\utils\__init__.py", line 34, in <module>
    from .generic import (
  File "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\transformers\utils\generic.py", line 462, in <module>
    import torch.utils._pytree as _torch_pytree
  File "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\torch\__init__.py", line 148, in <module>
    raise err
OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.

关键之处:

OSError: [WinError 126] 找不到指定的模块。Error loading "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.

三、解决办法

根据提示,是因为fbgemm.dll缺少依赖,导致加载异常,所以直接办法去找依赖文件,博主这里给出一个解决的办法:

1. 下载libomp140.x86_64.dll文件

点击 dllme.com后,可看到如下页面:

点击右下角,下载 libomp140.x86_64_x86-64.zip

2. 存放位置

将zip解压后,有一个文件:libomp140.x86_64.dll,转移至 Windows\System32 目录下,如存在可覆盖。

完成后,可顺利排除该异常。

结语

该文用于解决PyTorch2.4安装后,出现了 OSError: [WinError 126] 找不到指定的模块,Error loading "PATH\torch\lib\fbgemm.dll" or one of its dependencies.的问题,如存在其他异常,还需进一步探索,如有疑问,欢迎指正!

以上就是PyTorch中loading fbgemm.dll异常的解决办法的详细内容,更多关于PyTorch loading fbgemm.dll异常的资料请关注脚本之家其它相关文章!

相关文章

  • 详解Django缓存处理中Vary头部的使用

    详解Django缓存处理中Vary头部的使用

    这篇文章主要介绍了详解Django缓存处理中Vary头部的使用,Django是最具人气的Python web开发框架,需要的朋友可以参考下
    2015-07-07
  • python import模块时有错误红线的原因

    python import模块时有错误红线的原因

    这篇文章主要介绍了python import模块时有错误红线的原因及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python 数据分析之逐块读取文本的实现

    Python 数据分析之逐块读取文本的实现

    这篇文章主要介绍了Python 数据分析之逐块读取文本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python自动化办公之Excel数据的写入

    Python自动化办公之Excel数据的写入

    这篇文章主要为大家详细介绍一下Python中excel的写入模块- xlsxwriter,并利用该模块实现Excel数据的写入,感兴趣的小伙伴可以了解一下
    2022-05-05
  • python异常基类BaseException详解

    python异常基类BaseException详解

    这篇文章主要为大家介绍了python异常基类BaseException详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Python3中的指针你了解吗

    Python3中的指针你了解吗

    Python这个编程语言虽然没有指针类型,但是Python中的可变参量也可以像指针一样,改变一个数值之后,所有指向该数值的可变参量都会随之而改变,这篇文章主要介绍了Python3中的“指针”,需要的朋友可以参考下
    2024-02-02
  • python通过pil为png图片填充上背景颜色的方法

    python通过pil为png图片填充上背景颜色的方法

    这篇文章主要介绍了python通过pil为png图片填充上背景颜色的方法,实例分析了Python使用pil模块操作png图片的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • Python3.12内置的71个函数汇总(按用途分类)

    Python3.12内置的71个函数汇总(按用途分类)

    Python 的强大之处在于它自带了丰富的工具箱,截至 Python 3.12 版本,官方提供了 71 个内置函数,这些函数无需 import 任何模块即可直接使用,为了方便查阅和记忆,本文将这 71 个函数按功能分类
    2026-01-01
  • 分析python动态规划的递归、非递归实现

    分析python动态规划的递归、非递归实现

    本文小编给大家详细分析了python动态规划的递归、非递归实现过程以及相关代码,有兴趣的朋友可以学习下。
    2018-03-03
  • Pandas直接读取sql脚本的方法

    Pandas直接读取sql脚本的方法

    这篇文章主要介绍了Pandas直接读取sql脚本的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论