一、报错

ImportError: cannot import name 'transforms'

从报错信息可以看到是我所安装的torchtext无法导入transforms模块

二、问题分析

首先我之前的环境配置为:

python       3.6.13
torch               1.10.1
torchaudio          0.10.1
torchfile           0.1.0
torchtext           0.11.1
torchvision         0.11.2

然后我去安装torchtext模块,到torchtext下载地址发现torch 1.10.1只能安装0.11.0 版本的torchtext

然后我又去看了一下0.11.0版本的torchtext描述发现 这个版本的torchtext根本没有torchtext.transforms这个模块

认真看了一下后续发布的版本,发现只有torchtext 0.13.0之后的版本才有torchtext.transforms这个模块。

并且torchtext 0.13.0及之后的版本要求的python版本在3.7之上,pytorch版本在1.12.0及之上,所以我需要重新一个python3.7的pytorch1.12.0环境,而之前那个python3.6版本的pytorch1.10.1的环境也就用不了了。

三、构建新的pytorch环境

1.使用conda创建一个python3.7的虚拟环境

conda create -n pytorchPy37 python=3.7

2.安装pytorch

a.进入虚拟环境
 conda activate pytorchPy37
b.查看cuda版本
nvidia-smi
c.安装pytorch

首先进入pytorch官网,找到符合自己需求的pytorch进行安装,我这里就安装 torch 1.12.0 的版本

conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=10.2 -c pytorch

3.将虚拟环境内核添加至jupyter-notebook

a.安装ipykernel、ipython包
pip install ipykernel ipython
b.重命名添加至jupter-notebook的内核
ipython kernel install --user --name pytorchPy37

在jupyter-notebook中可以看到刚刚我们添加进去的内核:

4.安装torchtext

安装之前一定要确定好自己的python版本以及pytorch版本,并安装与之对应的torchtext的版本
才行,如果想要安装含有transforms模块加粗样式的torchtext版本,需要安装0.13.0之后的torchtext版本 我的torch版本是1.12.0,python版本是3.7.15,所以我安装0.13.0版本的torchtext

pip install torchtext==0.13.0

安装好之后,我的就可以运行成功了🤯。

参考链接

pytorch官网
torchtext的github地址
torchtext下载地址
torchtext 安装,与pytorch版本匹配
解决No module named ‘torchtext’ 有大坑
【torch安装踩雷】torchtext、torch、anaconda安装问题解决

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐