__ init __.py的作用是将一个文件夹封装成一个python包
当有了__ init __.py文件后,在其他py文件则可进行以下合法操作
import models
import layers
import miniViT
import unet_adaptive_bins
如果没有__ init __.py文件,则会导入失败。
import models
其实是在导入__init__.py文件,作用是可以使用models模块下的所有py文件和__init__.py导入的函数和类
#__init__.py
from .unet_adaptive_bins import UnetAdaptiveBins
而__init__.py文件里面导入了unet_adaptive_bins.py的一个类,故可以通过下面的方式访问UnetAdaptiveBins类
# train.py
import models
m = models.UnetAdaptiveBins.build(n_bins=80, min_val=1e-3, max_val=80,norm="linear")
假如__init__.py文件是个空文件,访问UnetAdaptiveBins类就通过一般的方式,即
# train.py
import models
m = models.unet_adaptive_bins.UnetAdaptiveBins.build(n_bins=80, min_val=1e-3, max_val=80,norm="linear")