开发者

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

开发者 https://www.devze.com 2024-08-17 09:16 出处:网络 作者: 一叶飞舟
目录一、安装必备1. window2. python3. install pytorch二、异常情景1. 请求GPT-22. 异常Traceback三、解决办法1. 下载libomp140.x86_64.dll文件2. 存放位置结语一、安装必备
目录
  • 一、安装必备
    • 1. window
    • 2. python
    • 3. install pytorch
  • 二、异常情景
    • 1. 请求GPT-2
    • 2. 异常Traceback
  • 三、解决办法
    • 1. 下载libomp140.x86_64.dll文件
    • 2. 存放位置
  • 结语

    一、安装必备

    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 torcphph torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    

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

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

    二、异常情景

    1. 请求GPT-2

    博主拿GPT作为示例(来自官方),新建一个python文件并取名为hello_GPT2.py,目的android是完成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_thttp://www.devze.comext, 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 _torchandroid_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后,可看到如下页面:

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

    点击右下角,下载 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异常的资料请关注编程客栈(www.devze.com)其它相关文章!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号