在训练模型之前,我对一些数据准备有一个相当基本的设置,并且在导入时
torchtext
它会抛出此错误:
Traceback (most recent call last):
File "D:\PythonProjects\FakeNews\train.py", line 4, in <module>
from torchtext.data.utils import get_tokenizer
File "D:\PythonProjects\FakeNews\venv\Lib\site-packages\torchtext\__init__.py", line 18, in <module>
from torchtext import _extension # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\PythonProjects\FakeNews\venv\Lib\site-packages\torchtext\_extension.py", line 64, in <module>
_init_extension()
File "D:\PythonProjects\FakeNews\venv\Lib\site-packages\torchtext\_extension.py", line 58, in _init_extension
_load_lib("libtorchtext")
File "D:\PythonProjects\FakeNews\venv\Lib\site-packages\torchtext\_extension.py", line 50, in _load_lib
torch.ops.load_library(path)
File "D:\PythonProjects\FakeNews\venv\Lib\site-packages\torch\_ops.py", line 1295, in load_library
ctypes.CDLL(path)
File "C:\Users\Owner\AppData\Local\Programs\Python\Python312\Lib\ctypes\__init__.py", line 379, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 127] The specified procedure could not be found
我正在使用 torch 2.4.0 和 torchtext 0.18.0,这 应该| ||兼容。代码如下: 重新安装
import time
from torchtext.data.utils import get_tokenizer
from torchtext.vocab import build_vocab_from_iterator
from datasets import load_dataset
ds = load_dataset("GonzaloA/fake_news")
ds_train = ds["train"].remove_columns("Unnamed: 0")
ds_test = ds["test"].remove_columns("Unnamed: 0")
ds_val = ds["validation"].remove_columns("Unnamed: 0")
tokenizer = get_tokenizer("basic_english")
没有用。重新运行只会引发相同的错误。我发现论坛也没有说任何有帮助的内容。
--upgrade
did not work. Rerunning just throws the same error. No forums I've found say anything helpful either.
错误信息 "OSError: [WinError 127] The specified procedure could not be found" 通常表示的程序无法找到所需的动态链接库 (DLL)。在的情况下,问题出在
torchtext
试图加载名为
libtorchtext
的库时。
以下是一些可能的解决方案:
1. 确认 PyTorch 与的 Python 版本兼容:
- 确保安装的 PyTorch 版本与的 Python 版本兼容。访问 https://pytorch.org/,选择的操作系统、软件包管理器和其他选项,以获取有关如何安装与的系统兼容的 PyTorch 版本的说明。
2. 重新安装或升级
torch
和
torchtext
:
-
尝试卸载并重新安装
torch
和torchtext
:bash pip uninstall torch torchtext pip install torch torchtext
-
确保同时安装了 CPU 和 CUDA 版本的 PyTorch(如果适用):
bash pip install torch torchvision torchaudio # CPU 版本 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # CUDA 11.8 版本,请根据的 CUDA 版本进行调整
3. 检查 DLL 依赖项:
-
libtorchtext
库可能依赖于其他 DLL。可以使用 Dependency Walker 等工具来确定缺少哪些依赖项。下载并运行 Dependency Walker,打开libtorchtext.dll
文件(可能位于venv\Lib\site-packages\torchtext
文件夹中),查看是否有任何 DLL 显示为缺失或损坏。
4. 环境变量:
-
确保的系统
PATH
环境变量中包含 PyTorch 库的路径。这将允许的程序找到libtorchtext
库。
5. 重新创建虚拟环境:
-
有时,虚拟环境会出现问题。尝试删除当前的虚拟环境并创建一个新的:
bash deactivate # 如果在虚拟环境中 rm -rf venv # 删除旧的虚拟环境 python -m venv venv # 创建新的虚拟环境 venv\Scripts\activate # 激活新的虚拟环境 pip install -r requirements.txt # 安装所需的软件包
6. 检查的防病毒软件:
- 有时,防病毒软件可能会干扰 DLL 的加载。暂时禁用的防病毒软件,看看是否能解决问题。
如果这些步骤都无法解决问题,请提供有关的系统(操作系统、Python 版本、PyTorch 版本等)的更多信息,以便我进一步帮助。
标签:python,pytorch,artificial-intelligence,torchtext From: 78791245