【人工智能概论】 良好的代码书写习惯——参数的集中化管理
文章目录
- 【人工智能概论】 良好的代码书写习惯——参数的集中化管理
- 一. 参数集中管理的意义
- 二. 如何进行参数的集中化管理
- 三. 具体实现
- 3.1 构建参数管理的类ModelConfig与测试用的类Collage
- 3.2 参数管理与保存的测试
- 3.3 检验参数加载的功能
一. 参数集中管理的意义
- 传统编程讲究的是一个随心所欲,尤其是对参数的管理十分混乱,一旦代码的体量变大,维护难度会大大提高。
- 因此,如果能把参数给集中管理,势必会提高工作效率,更容易管理参数,也更容易进行进行部署。
二. 如何进行参数的集中化管理
- 首先,构建管理参数的类ModelConfig,类中的属性为被管理的参数;
- 其次,类中再构建两个方法,分别用于保存参数、加载参数;
- 最后,通过类的实例化对象config,实现对参数进行赋值。
三. 具体实现
3.1 构建参数管理的类ModelConfig与测试用的类Collage
import json
class ModelConfig:def __init__(self, collage_name=None,collage_id=None):self.collage_name = collage_nameself.collage_id = collage_iddef save(self, save_path): f = open(save_path, "w")d = {"collage_name": self.collage_name,"collage_id": self.collage_id}d = json.dumps(d)f.write(d)f.close()def load(self, load_path):d = open(load_path).read()d = json.loads(d)self.collage_name = d["collage_name"]self.collage_id = d["collage_id"]
class Collage:def __init__(self, config):self.collage_name = config.collage_nameself.collage_id = config.collage_iddef print_collage_inf(self):print("the collage is named ", self.collage_name)print("the collage's id is ", self.collage_id)
3.2 参数管理与保存的测试
from model_config import ModelConfig,Collage
config = ModelConfig("大连理工大学", "10141")
collage_test = Collage(config)
collage_test.print_collage_inf()
config.save('./config.json')
3.3 检验参数加载的功能
from model_config import ModelConfig,Collage
config1 = ModelConfig()
config1.load('./config.json')
collage_test1 = Collage(config1)
collage_test1.print_collage_inf()