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异常的资料请关注脚本之家其它相关文章!

相关文章

  • 可视化工具PyVista多线程显示多窗口的实例代码

    可视化工具PyVista多线程显示多窗口的实例代码

    这篇文章主要介绍了可视化工具PyVista多线程显示多窗口,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 5行Python代码实现图像分割的步骤详解

    5行Python代码实现图像分割的步骤详解

    这篇文章主要介绍了5行Python代码实现图像分割的步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Python字典和列表性能之间的比较

    Python字典和列表性能之间的比较

    今天给大家介绍的是Python列表和字典的相关知识,文中对Python字典和列表的性能作了充分的比较,好奇的小伙伴们一起来看看吧,需要的朋友可以参考下
    2021-06-06
  • Python语法分析之字符串格式化

    Python语法分析之字符串格式化

    这篇文章主要给大家介绍了关于Python语法分析之字符串格式化的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 详解Python枚举的定义与用法

    详解Python枚举的定义与用法

    这篇文章主要介绍了详解Python枚举的定义与用法,在Python中,枚举和我们在对象中定义的类变量时一样的,每一个类变量就是一个枚举项,需要的朋友可以参考下
    2023-04-04
  • Python argparse库的基本使用步骤

    Python argparse库的基本使用步骤

    argparse库是python下的一个命令行参数管理库,支持int、str、float、bool、数组等5种基本数据类型,这篇文章主要介绍了Python argparse库的基本使用,需要的朋友可以参考下
    2022-07-07
  • Python OpenCV实现简单的颜色识别功能(对红色和蓝色识别并输出)

    Python OpenCV实现简单的颜色识别功能(对红色和蓝色识别并输出)

    Python OpenCV可以用来进行颜色识别,可以通过读取图像的像素值,来判断像素点的颜色,从而实现颜色识别,这篇文章主要给大家介绍了关于Python OpenCV实现简单的颜色识别功能(对红色和蓝色识别并输出)的相关资料,需要的朋友可以参考下
    2023-12-12
  • 更换Django默认的模板引擎为jinja2的实现方法

    更换Django默认的模板引擎为jinja2的实现方法

    今天小编就为大家分享一篇更换Django默认的模板引擎为jinja2的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 解决Django模板无法使用perms变量问题的方法

    解决Django模板无法使用perms变量问题的方法

    这篇文章主要给大家介绍了关于解决Django模板无法使用perms变量问题的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • Python pygame绘制文字制作滚动文字过程解析

    Python pygame绘制文字制作滚动文字过程解析

    这篇文章主要介绍了Python pygame绘制文字制作滚动文字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论