Pytorch: [Незначительная ошибка] Модуль Pylint E1101 «факел» не имеет члена «from_numpy»

Созданный на 8 февр. 2017  ·  14Комментарии  ·  Источник: pytorch/pytorch

Очень незначительный, но стоит упомянуть.

Pylint не понимает, что torch имеет функцию-член from_numpy . Это потому, что torch.from_numpy на самом деле torch._C.from_numpy , насколько это касается Pylint.

Согласно этому потоку stackoverflow numpy также страдает от этой проблемы.

Для справки, вы можете заставить Pylint игнорировать их, обернув «проблемные» вызовы следующими комментариями.

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

Самый полезный комментарий

сгенерированные-члены = numpy. ,факел.

Для тех, кто использует vscode, добавьте в пользовательские настройки

"python.linting.pylintArgs": [
"--только ошибки",
"--generated-members=numpy.*, факел.*, cv2.*, cv.*"
]

только ошибки не связаны с проблемой, но полезны для подавления pep 8/форматирования «ошибок», если вы хотите

Все 14 Комментарий

обходной путь кажется довольно уродливым. нет ли способа указать pylint фильтровать определенные ошибки?

Я могу добавить, что pylint (1.6.5) также не принимает cat , topk и 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.*, факел.*, 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._,факел._

Для тех, кто использует vscode, добавьте в пользовательские настройки

"python.linting.pylintArgs": [
"--только ошибки",
"--generated-members=numpy.*, факел.*, cv2.*, cv.*"
]

только ошибки не связаны с проблемой, но полезны для подавления pep 8/форматирования «ошибок», если вы хотите

Вы спасли часть моей жизни! хахахаха

В коде VS:
Добавление "python.linting.enabled": false также сработало в этом случае.

Отключение линтинга целиком (как предложил @miranthajayatilake ) не является хорошим решением. Кажется, у pylint есть проблемы с pytorch, но для меня flake8 работает хорошо.
В VS Code можно выбрать flake8 с помощью Ctrl + Shift + P -> Select linter -> flake8 .

Я не думаю, что мы это исправим. (я не знаю, есть ли способ сделать это).

Закрытие вопросов словами «я не знаю, как это сделать, поэтому и не собираюсь» очень непослушно.

сгенерированные члены = numpy._,факел._

Для тех, кто использует vscode, добавьте в пользовательские настройки

"python.linting.pylintArgs": [
"--только ошибки",
"--generated-members=numpy.*, факел.*, cv2.*, cv.*"
]

только ошибки не связаны с проблемой, но полезны для подавления pep 8/форматирования «ошибок», если вы хотите

Если вы используете Coc, вы можете добавить то же правило в файл coc-settings.json.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

ikostrikov picture ikostrikov  ·  3Комментарии

SeparateReality picture SeparateReality  ·  3Комментарии

a1363901216 picture a1363901216  ·  3Комментарии

bartolsthoorn picture bartolsthoorn  ·  3Комментарии

kdexd picture kdexd  ·  3Комментарии