cov_tensor = torch.randn(10, 4, 4, dtype=torch.complex64)
torch是一个包,跳转到其定义时会去到init
为什么跳转到__init__.py
__init__.py
文件是Python包(package)的标识。在PyTorch中,许多功能都是通过包来组织的。当你从顶层模块(如torch
)导入某个子模块或函数时,实际上是在torch
包的__init__.py
文件中定义了哪些子模块或函数是可用的。因此,当你尝试跳转到torch
的定义时,PyCharm可能会带你到torch
包的__init__.py
文件,因为这里定义了torch
模块的公开接口。
包的定义
在Python中,包是一个包含__init__.py
文件的目录,它可以包含模块(.py文件)和子包(包含__init__.py
的子目录)。包提供了一种组织相关模块的方式,使得它们可以作为一个整体被导入和使用。
torch作为包
PyTorch的torch
目录(或更准确地说是安装后的PyTorch库中的torch
目录)包含了许多模块(如torch.nn
、torch.optim
等)和子包,以及一个__init__.py
文件。这个__init__.py
文件使得torch
目录可以被Python解释器识别为一个包,并且允许你从torch
包中导入特定的模块或子包。
例如,当你执行import torch
时,你实际上是在导入torch
包,并且Python会执行torch/__init__.py
文件中的代码来初始化这个包。然后,你可以从torch
包中进一步导入你需要的模块或子包,如import torch.nn
或from torch import nn
。
randn时一个函数,跳转到定义是会去到说明文件_variablefunctions.pyi
包(文件夹+init)的结构
包就是一个文件夹(也叫做目录)
模块指的就是.py文件。
包里面包含一个_init_模块,使得目录(文件夹)可以叫做包
还包含其他.py模块
_init_是空的,导入的时候必须要写from mypackage.mymodule import greet, add_numbers
对文件夹下__init__函数编写东西,就可以直接import文件夹,调用文件夹中.py文件下定义的函数了
对包右键——转到声明——跳转到__init__文件