从开源项目学来的,
config.ini
[strings] # Mode : train, test, serve mode = train train_enc = data/train.enc train_dec = data/train.dec test_enc = data/test.enc test_dec = data/test.dec # folder where checkpoints, vocabulary, temporary data will be stored working_directory = working_dir/ [ints] # vocabulary size # 20,000 is a reasonable size enc_vocab_size = 20000 dec_vocab_size = 20000 # number of LSTM layers : 1/2/3 num_layers = 3 # typical options : 128, 256, 512, 1024 layer_size = 256 # dataset size limit; typically none : no limit max_train_data_size = 0 batch_size = 64 # steps per checkpoint # Note : At a checkpoint, models parameters are saved, model is evaluated # and results are printed steps_per_checkpoint = 300 [floats] learning_rate = 0.5 learning_rate_decay_factor = 0.99 max_gradient_norm = 5.0
from configparser import SafeConfigParser def get_config(config_file='seq2seq.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_floats + _conf_strings) mydict=get_config() print(mydict)