cannot import name ‘Iterator‘ from ‘torchtext.data‘

2024-03-01 13:36

本文主要是介绍cannot import name ‘Iterator‘ from ‘torchtext.data‘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在运行Transformer工程的时候,执行如下语句时出现题目中的报错。

from torchtext.data import Iterator

这个问题解决起来比较曲折,记录下来以备后续查阅。

原来的环境安装的是最新的pytorch,2.x版本,而且该环境在另一个大型Transformer工程中是已经运行通过,但是当用该环境运行一个小的Transformer工程时,就开始出现各种版本不兼容的问题。

出现题目中的错误,第一个想法就是对torchtext降版本,参考网上的解决方案将版本从0.17降到了0.9,完了之后,该问题仍然存在。

接下来,按照pytorch、torchvision、torchaudio、torchtext版本对应关系,重新起环境,安装了Python 3.8、pytorch 1.7.0,但是到安装torchvision、torchaudio的时候,提示没有匹配的版本:

从报错中看,能找到对应torchivisio和torchaudio的最老torch版本是torch 1.8.0,好,那就它吧,于是重新安装torch 1.8.0:

pip install torch==1.8.0 torchvision torchaudio -i https://pypi.tuna.tsinghua.du.cn/simple

这里只需要指定torch版本,安装过程会自动去匹配相应的torchvision和torchaudio版本。

以上安装完成后,开始安装torchtext,按照如下表版本对应关系,应该安装torchtext 0.9,但之前0.9版本也存在标题中的问题,因此尝试安装torchtext 0.8。

torchtext 0.8在安装过程中提示找不到匹配项:

于是索性按照工程requirements文件中要求的torchtext==0.3.1来进行安装,安装是成功了,但是执行from torchtext.data import Iterator时又出现少模块的报错(提示缺少一个名为six的功能模块),版本太老,很多功能没有集成进来,太麻烦。

接着struggle,在这里看到有人用torchtext 0.6说可以,于是又卸载掉torchtext 0.3.1,安装torchtext 0.6,这次竟然work了!

接下来又安装了几个缺失的模块,基本就是少啥装啥,对版本没有太高的要求,直接pip install XXX,安装完成后,工程终于能正常运行了。

这篇关于cannot import name ‘Iterator‘ from ‘torchtext.data‘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762615

相关文章

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods

UserWarning: mkl-service package failed to import

安装完成anaconda,并设置了两个环境变量  之后再控制台运行python环境,输入import numpy as np,提示错误 D:\InstallFolder\Anaconda3\lib\site-packages\numpy\__init__.py:143: UserWarning: mkl-service package failed to import, therefore

15 组件的切换和对组件的data的使用

划重点 a 标签的使用事件修饰符组件的定义组件的切换:登录 / 注册 泡椒鱼头 :微辣 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'