You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# lib/__init__.py
# 完整导入 lib 目录下所有模块的公共接口,确保无未定义引用
# ======================================
# 1. 导入 pvtv2.py 中的类和模型
# ======================================
from .pvtv2 import (
# 基础组件类
Mlp,
Attention,
Block,
OverlapPatchEmbed,
PyramidVisionTransformerImpr,
DWConv,
# PVTv2 模型实例
pvt_v2_b0,
pvt_v2_b1,
pvt_v2_b2,
pvt_v2_b3,
pvt_v2_b4,
pvt_v2_b5
)
# ======================================
# 2. 导入 resnet.py 中的类和模型
# ======================================
from .resnet import (
# ResNet 基础类
ResNet,
# ResNet 模型实例
resnet18,
resnet34,
resnet50,
resnet101,
resnet152
)
# ======================================
# 3. 导入 networks.py 中的模型类(关键:按实际类名调整)
# ======================================
# 注意:如果 networks.py 中的主模型类是 EMCADNet保留以下导入
# 如果是其他名称(如 EMCAD请替换为实际类名与 networks.py 完全一致)
from .networks import EMCADNet
# ======================================
# 4. 导入 decoders.py 中的类和函数(基于你提供的完整代码)
# ======================================
from .decoders import (
# 工具函数
gcd,
_init_weights,
act_layer,
channel_shuffle,
MSCBLayer,
# 解码模块类
MSDC,
MSCB,
EUCB,
LGAG,
CAB,
SAB,
EMCAD # decoders.py 中定义的 EMCAD 解码模块
)
# ======================================
# 全局公共接口:定义可通过 from lib import * 导入的内容
# ======================================
__all__ = [
# ------------------------------
# pvtv2.py
# ------------------------------
'Mlp',
'Attention',
'Block',
'OverlapPatchEmbed',
'PyramidVisionTransformerImpr',
'DWConv',
'pvt_v2_b0',
'pvt_v2_b1',
'pvt_v2_b2',
'pvt_v2_b3',
'pvt_v2_b4',
'pvt_v2_b5',
# ------------------------------
# resnet.py
# ------------------------------
'ResNet',
'resnet18',
'resnet34',
'resnet50',
'resnet101',
'resnet152',
# ------------------------------
# networks.py
# ------------------------------
'EMCADNet', # 与 networks.py 中的类名保持一致
# ------------------------------
# decoders.py
# ------------------------------
'gcd',
'_init_weights',
'act_layer',
'channel_shuffle',
'MSCBLayer',
'MSDC',
'MSCB',
'EUCB',
'LGAG',
'CAB',
'SAB',
'EMCAD'
]