在运行官网pytorch案例的时候,发现无法从torchvision.io中导入read_image。
ImportError: cannot import name 'read_image' from 'torchvision.io'
查看torchvision的版本发现是0.6的落后版本。
In [1]: import torchvision as tv
In [2]: tv.__version__
Out[2]: '0.6.0'
升级torchvision版本即可,使用pip进行升级。
pip install --upgrade torchvision
但是发现存在权限访问异常的问题。
ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: 'c:\\users\\zhang\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\~orch\\lib\\asmjit.dll'
Consider using the `--user` option or check the permissions.
在升级的时候加上–user选项即可。
pip install --user --upgrade torchvison
检查版本号,发现升级成功。
In [1]: import torchvision as tv
In [2]: tv.__version__
Out[2]: '0.10.0+cpu'
In [3]: tv.io.read_image
Out[3]: <function torchvision.io.image.read_image(path: str, mode: torchvision.io.image.ImageReadMode = <ImageReadMode.UNCHANGED: 0>) -> torch.Tensor>
不过这样还是不行,因为升级到了cpu版本,cuda不能调用了。索性卸载了torch,重新安装了一遍。
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
这下就没问题了。
In [1]: import torch
In [2]: torch.__version__
Out[2]: '1.9.0+cu111'
In [3]: torch.cuda.is_available()
Out[3]: True
In [4]: import torchvision as tv
In [5]: tv.__version__
Out[5]: '0.10.0+cu111'