封装与模块化

封装与模块化

项目由一系列的.py文件组成,相当于是模块化编程的思想,这样有几点好处:

  1. 首先是每个py文件各司其职,代码清晰、各个模块的作用看名字就一目了然。
    实现了灵活调用,需要哪个就调用哪个,不用在一整个文件里面去搜索、定位。
  2. 其次是可复用性强,数据A这次用完之后,下次换成数据B,只需要更改一下路径即可。
  3. 最后是调试方便,不用在一整个的海量代码中推理其中一段的意思,按需定位即可。

举例来说:

通用的深度学习文件架构如下:

dataloader.py

负责数据 包括加载、预处理、增强等。

model.py

负责网络结构,包括Unet、ResNet等

train.py

负责训练,包括循环、优化器等

test.py

负责推理,包括加载模型、预测等

utils.py

负责工具函数,包括可视化、计算指标、评估等

封装同理

将功能模块封装在一个个的def定义的函数中,可复用性强.
举例:

def train(csv_path):
    data = load_data(csv_path)
    model.fit(data)
    return model
    
train("train.csv")
当下次想要运行其他数据时:
train("val.csv")

即可直接复用。
快捷、清晰、方便

另一方面,

可维护性强

当发现函数需要修改时,只用改函数本身即可,后面的若干个调用自动生效。
换句话说,就不用再一个个去修改后面调用的语句了。

posted @ 2025-12-17 15:41  居哥wxg  阅读(1)  评论(0)    收藏  举报