前言
由于在做神经网络的实验中,需要使用 Flatten类,但是由于低版本并无该类,所以无法使用。
解决办法
- 升级 pytorch 版本,
- 找到较新版本中的 Flatten 类拷贝到 本地安装目录中。
详细描述
源码地址:Pytorch
打开源码地址,找到 flatten.py文件,将其下载。
Flatten 类目录:torch/nn/moudles/flatten.py
1、 步骤一:
将代码拷贝到本地安装目录 %your dir%/Anaconda\anaconda\envs\pytorch\Lib\site-packages\torch\nn\modules
2、步骤二:
打开上面目录下的 __init__.py
文件,导入 flatten.py
,具体代码如下所示:
from .flatten import Flatten, Unflatten
__all__ = [
'Flatten'
]
这样就成功导入 Flatten类了,可以在项目中使用了,使用代码如下所示:
from torch.nn import Flatten
Flatten()
3、步骤三:
假如 运行代码 报错:找不到 torch.types
解决办法:官方源码下载types.py
所在目录:/torch/types.py
将该文件拷贝到本地安装目录%your dir%/Anaconda\anaconda\envs\pytorch\Lib\site-packages\torch
并将该文件内的代码注释掉:_qscheme = torch.qscheme
原因是:torch没有qscheme模块,如果不想注释,可以继续导入 qscheme模块。