文章
一、报错
ImportError: cannot import name 'transforms'
从报错信息可以看到是我所安装的torchtext无法导入transforms模块。
![](https://img-blog.csdnimg.cn/f6d234982aec482e87fb0673a84761c1.png)
二、问题分析
首先我之前的环境配置为:
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
。
![](https://img-blog.csdnimg.cn/d457b5194ccb4c92a3f29840b3184e26.png)
然后我又去看了一下0.11.0版本的torchtext描述发现 这个版本的torchtext根本没有torchtext.transforms
这个模块。
![](https://img-blog.csdnimg.cn/4fe3a63016ca4d9f9b13726a3cf11441.png)
认真看了一下后续发布的版本,发现只有torchtext 0.13.0之后的版本才有torchtext.transforms
这个模块。
![](https://img-blog.csdnimg.cn/9ef320dc43294af181bc9c8905501baf.png)
并且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
![](https://img-blog.csdnimg.cn/3e5842e9a6344bc29d646db4b840f79e.png)
c.安装pytorch
首先进入pytorch官网,找到符合自己需求的pytorch进行安装,我这里就安装 torch 1.12.0
的版本
![](https://img-blog.csdnimg.cn/6651ecd51b164ebca0640e420aff5fec.png)
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=10.2 -c pytorch
![](https://img-blog.csdnimg.cn/3ba7794c8c514192a868355bb92728da.png)
3.将虚拟环境内核添加至jupyter-notebook
a.安装ipykernel、ipython包
pip install ipykernel ipython
b.重命名添加至jupter-notebook的内核
ipython kernel install --user --name pytorchPy37
在jupyter-notebook中可以看到刚刚我们添加进去的内核:
![](https://img-blog.csdnimg.cn/117576c5e31e4cbab09b929d427c36f0.png)
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安装问题解决