Pytorch1.1.0版本使用Flatten类报错

前言

由于在做神经网络的实验中,需要使用 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模块。

你可能感兴趣的:(深度学习,pytorch,python)