Pytorch: [小错误] Pylint E1101 模块 'torch' 没有 'from_numpy' 成员

创建于 2017-02-08  ·  14评论  ·  资料来源: pytorch/pytorch

非常轻微但值得一提。

Pylint 没有发现torch具有成员函数from_numpy 。 这是因为就 Pylint 而言, torch.from_numpy实际上是torch._C.from_numpy

根据这个stackoverflow线程numpy也遇到了这个问题。

作为参考,您可以通过使用以下注释包装“有问题的”调用来让 Pylint 忽略这些。

# pylint: disable=E1101
tensor = torch.from_numpy(np_array)
# pylint: enable=E1101

最有用的评论

生成的成员=numpy。 ,火炬。

对于那些使用 vscode 的人,添加到用户设置

“python.linting.pylintArgs”:[
“--仅错误”,
“--generated-members=numpy.* ,torch.* ,cv2.* , cv.*”
]

仅错误与问题无关,但如果您愿意,可用于抑制 pep 8/格式化“错误”

所有14条评论

解决方法似乎很丑陋。 有没有办法告诉 pylint 过滤某些错误?

我可以补充一点, pylint (1.6.5) 也没有将cattopkmasked_select作为成员函数。

我不认为我们会解决这个问题。 (我也不知道有没有办法)。

您可以通过编辑.pylintrc的相应行来抑制这些模块的所有此类消息,如下所示:

[MASTER]
extension-pkg-whitelist=numpy,torch

[TYPECHECK]
ignored-modules=numpy,torch
ignored-classes=numpy,torch

mypy 似乎能够接收这些成员。

您现在可以执行以下操作,而不是忽略:

[TYPECHECK]

# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=numpy.*,torch.*

生成的成员=numpy。 ,火炬。

对于那些使用 vscode 的人,添加到用户设置

“python.linting.pylintArgs”:[
“--仅错误”,
“--generated-members=numpy.* ,torch.* ,cv2.* , cv.*”
]

仅错误与问题无关,但如果您愿意,可用于抑制 pep 8/格式化“错误”

允许检查模块会很好,也可以自动完成。 也许可以将from torch._C import *更改为from torch._C import from_numpy, ...

也许可以将from torch._C import *更改为from torch._C import from_numpy, ...

这看起来很简单。 我们确定这是要走的路吗?
我认为我们需要类型提示(这很难说服人们使用)。
我们是否应该打开另一个问题来讨论@moi90的解决方案?

生成的成员=numpy._,torch._

对于那些使用 vscode 的人,添加到用户设置

“python.linting.pylintArgs”:[
“--仅错误”,
“--generated-members=numpy.* ,torch.* ,cv2.* , cv.*”
]

仅错误与问题无关,但如果您愿意,可用于抑制 pep 8/格式化“错误”

你救了我的一部分生命! 哈哈哈哈

在 VS 代码上:
在这种情况下,添加"python.linting.enabled": false也有效。

一起禁用 linting(如@miranthajayatilake建议的那样)不是一个好的解决方案。 似乎pylint与 pytorch 有问题,但对我来说flake8效果很好。
在 VS Code 中,可以通过Ctrl + Shift + P -> Select linter -> flake8选择flake8 $#$。

我不认为我们会解决这个问题。 (我也不知道有没有办法)。

以“我不知道如何因此不去”来结束问题是非常顽皮的。

生成的成员=numpy._,torch._

对于那些使用 vscode 的人,添加到用户设置

“python.linting.pylintArgs”:[
“--仅错误”,
“--generated-members=numpy.* ,torch.* ,cv2.* , cv.*”
]

仅错误与问题无关,但如果您愿意,可用于抑制 pep 8/格式化“错误”

如果您使用的是 Coc,则可以在 coc-settings.json 中使用相同的规则。

此页面是否有帮助?
0 / 5 - 0 等级