(Я не ветеран Python, так что извините, если это наивный вопрос.)
Следуя учебнику PyTorch , приведенный ниже код работает нормально.
import torch
x= torch.empty(5,3) # <========= HERE
print(x)
Но код Visual Studio жалуется, что:
E1101: Модуль «Факел» не имеет «пустого» элемента
Eclipse PyDev имеет похожее предупреждение.
Поэтому я использую приведенный ниже код, чтобы проверить, что torch
предлагает:
for (k, v) in torch.__dict__.items():
print(k, v)
И я обнаружил, что это встроенный:
empty <built-in method empty of type object at 0x00007FFA380E0A80>
Поскольку это метод, я искал во всех файлах *.py
в папке пакета torch что-то вроде def empty
и empty
, не повезло.
Так где же определен этот empty
метод? Какой-нибудь pyd / DLL?
Как это импортируется в пространство имен?
Или, иначе говоря, как создать встроенную функцию для моего собственного пакета?
ADD 1 - 10:38 AM 11/12/2018
Расширение встроенных Python с помощью C / C ++
https://docs.python.org/3/extending/extending.html
Полагаю, это метод torch::empty
. Я нашел много совпадений в базе кодов Python GitHub. Но я еще не прибил определение.