当前位置: 首页 > news >正文

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

前言

PyTorch是一个深度学习框架,当我们在本地调试大模型时,可能会选用并安装它,目前已更新至2.4版本。

在这里插入图片描述

一、安装必备

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, GPT2TokenizerFile "D:\projects\PycharmProjects\llm_openai_gpt\.venv\Lib\site-packages\transformers\__init__.py", line 26, in <module>from . import dependency_versions_checkFile "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_coreFile "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_pytreeFile "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.的问题,如存在其他异常,还需进一步探索,如有疑问,欢迎指正!


在这里插入图片描述

http://www.lryc.cn/news/424256.html

相关文章:

  • Vscode——如何实现 Ctrl+鼠标左键 跳转函数内部的方法
  • 力扣热题100_回溯_78_子集
  • 浏览器如何工作(一)进程架构
  • 【LeetCode】两数之和
  • UE5学习笔记11-为拿取武器添加动画
  • 68. 文本左右对齐【 力扣(LeetCode) 】
  • 【中等】 猿人学web第一届 第6题 js混淆-回溯
  • 低、中、高频率段具体在不同应用中的范围是多少
  • Oxford Model600 Model400低温氦压缩机cryogenic helium compressor手侧
  • Golang面试题四(并发编程)
  • 计算机学生高效记录并整理编程学习笔记的方法
  • 【书生大模型实战】L2-LMDeploy 量化部署实践闯关任务
  • 《编程学习笔记之道:构建知识宝库的秘诀》
  • DETR论文,基于transformer的目标检测网络 DETR:End-to-End Object Detection with Transformers
  • untiy有渲染线程和逻辑线程嘛
  • 什么是数据仓库ODS层?为什么需要ODS层?
  • permutation sequence(
  • PCL 三线性插值
  • JVM虚拟机(一)介绍、JVM内存模型、JAVA内存模型,堆区、虚拟机栈、本地方法栈、方法区、常量池
  • Python利用xlrd复制一个Excel中的sheet保留原格式创建一个副本(注:xlrd只能读取xls)
  • 40、Python之面向对象:扩展的对象属性解析顺序(描述符 + MRO)
  • stm32—时钟、定时器和看门狗
  • Windows平台RTSP|RTMP播放器如何实时调节音量
  • Leetcode JAVA刷刷站(10)正则表达式匹配
  • 合并图片为pdf
  • 【Linux Install】Ubuntu20, Windows10 双系统安装
  • Keepalived + LVS实现高可用
  • Gin框架接入Prometheus,grafana辅助pprof检测内存泄露
  • 上海凯泉泵业入职测评北森题库题型分析、备考题库、高分攻略
  • Linux:基础IO