这篇“python中编写config文件并及时更新的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python中编写config文件并及时更新的方法是什么”文章吧。
0. Intro
在pytorch或者其他深度学习框架中,有许多超参数需要调整,包括
learning_rate,
training_data_path等,因此编写一个
config文件统一存放这些参数,方便调用/查看/修改还是很有必要的。
我这里的目录结构:
MLP
mlp.ipynb: 用于training等
config.py:存放超参数、路径
data
targets:targets data path
train:training data path
1. config.py
这个
.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. 调用以及更新
写成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
注意,很可能当我们改动
config.py之后,外部文件的参数不会及时更新,所以加入
reload语句是一个很好的习惯
import config # import进来 reload(config) ################## 注意这里必须reload!!