PyTorch:错误消息“火炬没有 [...] 成员”

Posted

技术标签:

【中文标题】PyTorch:错误消息“火炬没有 [...] 成员”【英文标题】:PyTorch : error message "torch has no [...] member" 【发布时间】:2018-10-23 12:01:57 【问题描述】:

晚上好, 我刚刚安装了 PyTorch 0.4.0,我正在尝试执行第一个教程“什么是 PyTorch?” 我编写了一个 Tutorial.py 文件,我尝试使用 Visual Studio Code 执行该文件

代码如下:

from __future__ import print_function
import torch

print (torch.__version__)

x = x = torch.rand(5, 3)
print(x)

不幸的是,当我尝试调试它时,我收到一条错误消息: “torch 没有 rand 成员”

我可以尝试的任何 Torch 成员函数都是如此

有人可以帮帮我吗?

【问题讨论】:

print(torch.__version__) 的结果是什么? 还有print(torch.__path__)的结果是什么? 感谢您的回答,结果如下:0.4.0 ['D:\\Anaconda\\lib\\site-packages\\torch'] 这里有同样的问题。 【参考方案1】:

如果您的问题没有解决方案或其他人遇到它。

由于 Pylint(Python 静态代码分析工具)未将 rand 识别为成员函数而引发错误。您可以将 Pylint 配置为忽略此问题,也可以将 Torch 列入白名单(更好的解决方案),通过将以下内容添加到您的 .pylintrc 文件中来消除 lint 错误。

[TYPECHECK]

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

在 Visual Studio Code 中,您还可以在用户设置中添加以下内容:

"python.linting.pylintArgs": [
"--generated-members=numpy.* ,torch.*"
]

此问题在 PyTorch GitHub 页面上讨论 here。

【讨论】:

只要我使用 .pylintrc 或 VSCode 设置执行此操作,错误就会消失,但 pylint 抱怨更像是缺少文档字符串等。 @AmirHosseinF 查看 Github 问题,除了错误之外,还有其他参数可以抑制其他警告 要清楚,这在settings.json 中,可以通过文件-> 首选项-> 设置访问,然后在文本编辑器中编辑设置。 这对我使用 VSCode 1.50.1 和 PyTorch 1.7.0 不起作用 你能配置类似的东西来选择性地忽略特定包子集的import-error 和/或no-name-in-module 错误吗?【参考方案2】:

来自pylint no member issue but code still works vscode的快速解决方案

Press: CTRL + Shift + P

Click on "Preferences: Open Settings (JSON)"

Add this line into JSON : "python.linting.pylintArgs": ["--generate-members"]

【讨论】:

PyLint 没有参数generate-members。您的意思是像上面的答案一样通过使用--generated-members torch 吗? 我只在 settings.json 文件中添加了 "python.linting.pylintArgs": ["--generate-members"] 行,这对我来说已经足够了。希望对你有帮助【参考方案3】:

如果有人仍然面临问题,那么这里是对我有用的解决方案。 转到 vs 代码设置,file>preferences>settings 或使用快捷方式 ctrl+, 并搜索 python.linting.pylintPath。 修改 pylint 路径,转到您的 anaconda installation directory>pkgs>pylint>scripts 并将路径复制粘贴到设置中并在路径末尾添加 pylint,类似于 (anaconda installation directory)\pkgs\pylint-2.4.4-py37_0\Scripts\pylint

【讨论】:

【参考方案4】:

在 VS Code 中,可以通过以下方式选择 flake8

Ctrl + Shift + P -> 选择 linter -> flake8

Source

【讨论】:

以上是关于PyTorch:错误消息“火炬没有 [...] 成员”的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Colab pro -Pytorch 中随机接收错误消息

无法使用 pip 安装 CuPy 和 PyTorch

RuntimeError:cuDNN 错误:CUDNN_STATUS_NOT_INITIALIZED 使用 pytorch

Pytorch: Building 3D Dense Network 遇到错误 Adaptive_avg_pool3d: output_size must be 3

Pytorch-geometric: Creating Message Passing Networks 构建消息传递网络教程

Pytorch实现GCN(基于Message Passing消息传递机制实现)