(我不是Python的资深人士,如果这是一个天真的问题,请原谅我。)
在PyTorch tutorial之后,以下代码可以正常工作。
import torch
x= torch.empty(5,3) # <========= HERE
print(x)
但是Visual Studio Code抱怨:
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
文件中搜索了def empty
和empty
之类的东西,没有运气。
那么该empty
方法在哪里定义?一些pyd / DLL?
如何将其导入命名空间?
或者换句话说,如何为我自己的程序包创建内置函数?
使用C / C ++扩展Python内置
https://docs.python.org/3/extending/extending.html
我猜这是torch::empty
方法。我在github PyTorch代码库中找到了a lot of matches。但是我还没有确定定义。