在实际的项目实践中,我们往往需要对参数进行频繁的调整,因此定义一个工具类来读取配置文件中的配置参数,这样当需要调参时,只需对配置文件中的参数进行调整即可。
selfconfig.ini文件如下:
[strings]
# Mode : train, test, serve
mode = train
seq_data = train_data/seq.data
train_data=train_data
#训练集原始文件
resource_data = train_data/xiaohuangji50w_nofenci.conv
model_data = model_data
[ints]
# vocabulary size
# 20,000 is a reasonable size
enc_vocab_size = 20000
dec_vocab_size = 20000
embedding_dim=128
# typical options : 128, 256, 512, 1024
layer_size = 256
# dataset size limit; typically none : no limit
max_train_data_size = 50000
batch_size = 128
get_config.py文件如下:
from configparser import SafeConfigParser
def get_config(config_file='selfconfig.ini'):
parser = SafeConfigParser()
parser.read(config_file)
# get the ints, floats and strings
_conf_ints = [ (key, int(value)) for key,value in parser.items('ints') ]
#_conf_floats = [ (key, float(value)) for key,value in parser.items('floats') ]
_conf_strings = [ (key, str(value)) for key,value in parser.items('strings') ]
return dict(_conf_ints + _conf_strings)
返回的是字典,在训练用的.py文件中直接导包,调用。