Pytorch: [Bug menor] Módulo Pylint E1101 'torch' não tem membro 'from_numpy'

Criado em 8 fev. 2017  ·  14Comentários  ·  Fonte: pytorch/pytorch

Muito menor, mas vale a pena mencionar.

Pylint não está pegando que torch tem a função de membro from_numpy . É porque torch.from_numpy é na verdade torch._C.from_numpy no que diz respeito ao Pylint.

De acordo com este thread de stackoverflow numpy também sofre com este problema.

Para referência, você pode fazer com que o Pylint os ignore envolvendo chamadas "problemáticas" com os comentários a seguir.

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

Comentários muito úteis

membros-gerados=numpy. ,tocha.

Para aqueles que usam vscode, adicione às configurações do usuário

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

errors-only não está relacionado ao problema, mas é útil para suprimir "erros" de formatação / formatação se você quiser

Todos 14 comentários

a solução parece muito feia. não há como dizer ao pylint para filtrar certos erros?

Posso acrescentar que pylint (1.6.5) também não pega cat , topk e masked_select como funções de membro.

eu não acho que vamos consertar isso. (não sei se tem como fazer isso também).

Você pode suprimir todas essas mensagens para esses módulos editando as linhas apropriadas de .pylintrc para ficar assim:

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

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

mypy parece ser capaz de pegar esses membros.

Em vez de ignorar, agora você pode fazer:

[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.*

membros-gerados=numpy. ,tocha.

Para aqueles que usam vscode, adicione às configurações do usuário

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

errors-only não está relacionado ao problema, mas é útil para suprimir "erros" de formatação / formatação se você quiser

Seria bom permitir a inspeção do módulo, também para auto-completar. Talvez alguém possa mudar from torch._C import * para from torch._C import from_numpy, ... ?

Talvez alguém possa mudar from torch._C import * para from torch._C import from_numpy, ... ?

Isso parece bastante simples. Temos certeza de que este é o caminho a seguir?
Achei que precisaríamos de dicas de tipo (o que seria muito mais difícil de convencer as pessoas a usar).
Devemos abrir outra questão para discutir a solução do @moi90 ?

membros-gerados=numpy._,torch._

Para aqueles que usam vscode, adicione às configurações do usuário

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

errors-only não está relacionado ao problema, mas é útil para suprimir "erros" de formatação / formatação se você quiser

Você salvou parte da minha vida! hahahaha

No código VS:
Adicionar "python.linting.enabled": false também funcionou neste caso.

Desabilitar o linting todos juntos (como sugerido por @miranthajayatilake ) não é uma boa solução. Parece que pylint tem problemas com o pytorch, mas para mim flake8 funciona bem.
No VS Code, pode-se selecionar flake8 por Ctrl + Shift + P -> Select linter -> flake8 .

eu não acho que vamos consertar isso. (não sei se tem como fazer isso também).

Fechar questões com "não sei como, portanto, não vou" é muito impertinente.

membros-gerados=numpy._,torch._

Para aqueles que usam vscode, adicione às configurações do usuário

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

errors-only não está relacionado ao problema, mas é útil para suprimir "erros" de formatação / formatação se você quiser

Se você estiver usando o Coc, poderá usar a mesma regra em seu coc-settings.json.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

soumith picture soumith  ·  3Comentários

ikostrikov picture ikostrikov  ·  3Comentários

soumith picture soumith  ·  3Comentários

NgPDat picture NgPDat  ·  3Comentários

szagoruyko picture szagoruyko  ·  3Comentários