Pytorch: [マイナーバグ] PylintE1101モジュール '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
todo

最も参考になるコメント

生成されたメンバー= numpy。 、松明。

vscodeを使用している場合は、ユーザー設定に追加してください

"python.linting.pylintArgs":[
「-エラーのみ」、
"--generated-members = numpy。*、torch。*、cv2。*、cv。*"
]

エラーのみは問題に対応していませんが、必要に応じてpep 8 /フォーマットの「エラー」をサポートするのに役立ちます

全てのコメント14件

回避策はかなり醜いようです。 特定のエラーをフィルタリングするようにpylintに指示する方法はありませんか?

pylint(1.6.5)は、メンバー関数としてcattopk 、およびmasked_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の追加も機能しました。

@miranthajayatilakeによって提案されているように)リンティングをすべて一緒に無効にすることは、良い解決策ではありません。 pylintにはpytorchに問題があるようですが、私にとってflake8はうまく機能します。
VS Codeでは、 flake8 by Ctrl + Shift + P -> Select linter -> flake8を選択できます。

これを修正するとは思わない。 (私もそれを行う方法があるかどうかわかりません)。

「どうしたら行けないのかわからない」という締めくくりはとてもやんちゃです。

生成されたメンバー= numpy ._、torch._

vscodeを使用している場合は、ユーザー設定に追加してください

"python.linting.pylintArgs":[
「-エラーのみ」、
"--generated-members = numpy。*、torch。*、cv2。*、cv。*"
]

エラーのみは問題に対応していませんが、必要に応じてpep 8 /フォーマットの「エラー」をサポートするのに役立ちます

Cocを使用している場合は、coc-settings.jsonに同じルールを設定することを使用できます。

このページは役に立ちましたか?
0 / 5 - 0 評価