python中一种编写config文件并及时更新的方法

文章介绍了如何在Pytorch项目中创建一个config.py文件来统一管理超参数,如学习率和数据路径。通过定义一个名为DefaultConfig的类来存储这些信息,并在主训练脚本中导入并重载该配置,确保参数更新。这种方法适用于小型模型的初步调优。
摘要由CSDN通过智能技术生成

0. Intro

  1. 在pytorch或者其他深度学习框架中,有许多超参数需要调整,包括learning_ratetraining_data_path等,因此编写一个config文件统一存放这些参数,方便调用/查看/修改还是很有必要的。下面是我使用过的一种很简单的方式,不是很优雅,小模型下初步的微调已经够用,希望也对你有所帮助,有更好更pro的方式欢迎大家留言~
  2. 我这里的目录结构:
    • MLP
      • mlp.ipynb: 用于training等
      • config.py: 存放超参数、路径
    • data
      • targets:targets data path
      • train:training data path

1. config.py

  1. 这个.py文件实际上是一个class,大概如下:
class DefaultConfig(object):

    # dataset划分
    batch_size = 40
    train_pct = 0.7
    vali_pct = 0.2
    test_pct = 0.1
    
    #learning rate
    learning_rate = 1e-3
    
    # Training data
    train_path = r"../data/train"
    target_path_metric = r"../data/targets"

2. 调用以及更新

  1. 写成class之后,在mlp.ipynb中调用只需要引用一下就完事了:

import config  # import进来
reload(config)  ################## 注意这里必须reload!!
from config import DefaultConfig	# 引入class

opt = DefaultConfig()		# 实例config对象

# 这里名字最好保持和clas内部一致,方便检查
batch_size = opt.batch_size
train_pct = opt.train_pct
vali_pct = opt.vali_pct
test_pct = opt.test_pct
  1. 注意,很可能当我们改动config.py之后,外部文件的参数不会及时更新,所以加入reload语句是一个很好的习惯
import config  # import进来
reload(config)  ################## 注意这里必须reload!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值