-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
126 lines (118 loc) · 9.74 KB
/
Copy pathconfig.py
File metadata and controls
126 lines (118 loc) · 9.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
"""
config.py
此模块定义了模型训练和评估的配置信息。它使用 argparse 来解析命令行参数,并为各种参数设置默认值。配置内容包括数据路径设置、模型架构、训练超参数以及设备选择等。解析后的参数会被以命名空间对象的形式返回,该对象可在整个代码库中用于访问配置值。
"""
import argparse
import logging
import os
from torch import cuda
from torch._C import device
import constants
# 使用项目中的常量为应用程序配置基本的日志记录功能。
# 这会设定全局的日志级别以及日志消息的输出格式。
logging.basicConfig(level=constants.LOG_LEVEL, format=constants.LOG_FORMAT)
def parsers():
"""
解析命令行参数并返回一个包含所有配置的命名空间对象。
:return: argparse.Namespace: 已解析的参数可通过属性形式访问,例如:args.batch_size、args.device 等
"""
parser = argparse.ArgumentParser(description='seize-the-momentum of argparse')
parser.add_argument('--run_mode', type=int, default=constants.DEFAULT_RUN_MODE)
parser.add_argument('--score_min', type=float, default=constants.DEFAULT_SCORE_MIN)
parser.add_argument('--train_stage', type=int, default=constants.DEFAULT_TRAIN_STAGE)
parser.add_argument('--random_seed', type=int, default=constants.DEFAULT_RANDOM_SEED)
parser.add_argument('--sensitive_rate', type=float, default=constants.DEFAULT_SENSITIVE_RATE)
parser.add_argument('--expect_length', type=int, default=constants.DEFAULT_EXPECT_LENGTH)
parser.add_argument('--problem_type', type=bool, default=constants.DEFAULT_PROBLEM_TYPE)
parser.add_argument('--data_mode', type=bool, default=constants.DEFAULT_DATA_MODE)
parser.add_argument('--out_mode', type=bool, default=constants.DEFAULT_OUT_MODE)
parser.add_argument('--log_mode', type=bool, default=constants.DEFAULT_LOG_MODE)
parser.add_argument('--meta_data', type=str,
default=os.path.join(constants.DEFAULT_DATA_DIR, constants.DEFAULT_META_DATA))
parser.add_argument('--final_train_data', type=str,
default=os.path.join(constants.DEFAULT_DATA_DIR, constants.DEFAULT_FINAL_TRAIN_DATA))
parser.add_argument('--final_dev_data', type=str,
default=os.path.join(constants.DEFAULT_DATA_DIR, constants.DEFAULT_FINAL_DEV_DATA))
parser.add_argument('--final_test_data', type=str,
default=os.path.join(constants.DEFAULT_DATA_DIR, constants.DEFAULT_FINAL_TEST_DATA))
parser.add_argument('--result_data', type=str,
default=os.path.join(constants.DEFAULT_DATA_DIR, constants.DEFAULT_RESULT_DATA))
parser.add_argument('--train_mode', type=bool, default=constants.DEFAULT_TRAIN_MODE)
parser.add_argument('--model_mode', type=int, default=constants.DEFAULT_MODEL_MODE)
parser.add_argument('--feature_size', type=int, default=constants.DEFAULT_FEATURE_SIZE)
parser.add_argument('--field_size', type=int, default=constants.DEFAULT_FIELD_SIZE)
parser.add_argument('--seq_size', type=int, default=constants.DEFAULT_SEQ_SIZE)
parser.add_argument('--class_size', type=int, default=constants.DEFAULT_CLASS_SIZE)
parser.add_argument('--use_deep', type=bool, default=constants.DEFAULT_USE_DEEP)
parser.add_argument('--embedding_size', type=int, default=constants.DEFAULT_EMBEDDING_SIZE)
parser.add_argument('--fm_first_norm_eps', type=float, default=constants.DEFAULT_FM_FIRST_NORM_EPS)
parser.add_argument('--fm_first_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_FM_FIRST_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--fm_first_dropout', type=float, default=constants.DEFAULT_FM_FIRST_DROPOUT)
parser.add_argument('--fm_second_norm_eps', type=float, default=constants.DEFAULT_FM_SECOND_NORM_EPS)
parser.add_argument('--fm_second_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_FM_SECOND_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--fm_second_dropout', type=float, default=constants.DEFAULT_FM_SECOND_DROPOUT)
parser.add_argument('--deep_sizes', nargs='+', type=int, default=constants.DEFAULT_DEEP_SIZES)
parser.add_argument('--deep_norm_epses', nargs='+', type=float, default=constants.DEFAULT_DEEP_NORM_EPSES)
parser.add_argument('--deep_norm_elementwise_affines', nargs='+', type=bool,
default=constants.DEFAULT_DEEP_NORM_ELEMENTWISE_AFFINES)
parser.add_argument('--deep_dropouts', nargs='+', type=float, default=constants.DEFAULT_DEEP_DROPOUTS)
parser.add_argument('--combination_size', type=int, default=constants.DEFAULT_COMBINATION_SIZE)
parser.add_argument('--combination_norm_eps', type=float, default=constants.DEFAULT_COMBINATION_NORM_EPS)
parser.add_argument('--combination_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_COMBINATION_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--combination_dropout', type=float, default=constants.DEFAULT_COMBINATION_DROPOUT)
parser.add_argument('--lstm_recurrent_dropout', type=float, default=constants.DEFAULT_LSTM_RECURRENT_DROPOUT)
parser.add_argument('--lstm_size', type=int, default=constants.DEFAULT_LSTM_SIZE)
parser.add_argument('--lstm_num_layers', type=int, default=constants.DEFAULT_LSTM_NUM_LAYERS)
parser.add_argument('--lstm_norm_eps', type=float, default=constants.DEFAULT_LSTM_NORM_EPS)
parser.add_argument('--lstm_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_LSTM_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--lstm_dropout', type=float, default=constants.DEFAULT_LSTM_DROPOUT)
parser.add_argument('--attention_size', type=int, default=constants.DEFAULT_ATTENTION_SIZE)
parser.add_argument('--attention_num_heads', type=int, default=constants.DEFAULT_ATTENTION_NUM_HEADS)
parser.add_argument('--attention_query_norm_eps', type=float, default=constants.DEFAULT_ATTENTION_QUERY_NORM_EPS)
parser.add_argument('--attention_query_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_ATTENTION_QUERY_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--attention_query_dropout', type=float, default=constants.DEFAULT_ATTENTION_QUERY_DROPOUT)
parser.add_argument('--attention_key_norm_eps', type=float, default=constants.DEFAULT_ATTENTION_KEY_NORM_EPS)
parser.add_argument('--attention_key_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_ATTENTION_KEY_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--attention_key_dropout', type=float, default=constants.DEFAULT_ATTENTION_KEY_DROPOUT)
parser.add_argument('--attention_value_norm_eps', type=float, default=constants.DEFAULT_ATTENTION_VALUE_NORM_EPS)
parser.add_argument('--attention_value_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_ATTENTION_VALUE_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--attention_value_dropout', type=float, default=constants.DEFAULT_ATTENTION_VALUE_DROPOUT)
parser.add_argument('--attention_norm_eps', type=float, default=constants.DEFAULT_ATTENTION_NORM_EPS)
parser.add_argument('--attention_norm_elementwise_affine', type=bool,
default=constants.DEFAULT_ATTENTION_NORM_ELEMENTWISE_AFFINE)
parser.add_argument('--attention_dropout', type=float, default=constants.DEFAULT_ATTENTION_DROPOUT)
parser.add_argument('--epoch_num', type=int, default=constants.DEFAULT_EPOCH_NUM)
parser.add_argument('--group_size', type=int, default=constants.DEFAULT_GROUP_SIZE)
parser.add_argument('--queue_size', type=int, default=constants.DEFAULT_THREAD_POOL_QUEUE_SIZE)
parser.add_argument('--thread_size', type=int, default=constants.DEFAULT_THREAD_POOL_SIZE)
parser.add_argument('--online_thread_size', type=int, default=constants.DEFAULT_ONLINE_THREAD_POOL_SIZE)
parser.add_argument('--buffer_size', type=int, default=constants.DEFAULT_BUFFER_SIZE)
parser.add_argument('--batch_size', type=int, default=constants.DEFAULT_BATCH_SIZE)
parser.add_argument('--num_workers', type=int, default=constants.DEFAULT_NUM_WORKERS)
parser.add_argument('--learn_rate', type=float, default=constants.DEFAULT_LEARN_RATE)
parser.add_argument('--eps', type=float, default=constants.DEFAULT_EPS)
parser.add_argument('--beta_1', type=float, default=constants.DEFAULT_BETA_1)
parser.add_argument('--beta_2', type=float, default=constants.DEFAULT_BETA_2)
parser.add_argument('--weight_decay', type=float, default=constants.DEFAULT_WEIGHT_DECAY)
parser.add_argument('--grad_norm_max', type=float, default=constants.DEFAULT_GRAD_NORM_MAX)
parser.add_argument('--device', type=device,
default=constants.DEVICE_GPU if cuda.is_available() else constants.DEVICE_CPU)
parser.add_argument('--dev_model_best', type=str,
default=os.path.join(constants.DEFAULT_MODEL_DIR, constants.DEFAULT_DEV_MODEL_BEST))
parser.add_argument('--test_model_best', type=str,
default=os.path.join(constants.DEFAULT_MODEL_DIR, constants.DEFAULT_TEST_MODEL_BEST))
parser.add_argument('--online_model', type=str,
default=os.path.join(constants.DEFAULT_MODEL_DIR, constants.DEFAULT_ONLINE_MODEL))
parser.add_argument('--timestamp_format', type=str, default=constants.DEFAULT_TIMESTAMP_FORMAT)
parser.add_argument('--transformer_num_layers', type=int, default=constants.DEFAULT_TRANSFORMER_NUM_LAYERS)
parser.add_argument('--multiple_of', type=int, default=constants.DEFAULT_MULTIPLE_OF)
parser.add_argument('--ffn_dim_multiplier', type=float, default=constants.DEFAULT_FFN_DIM_MULTIPLIER)
parser.add_argument('--norm_eps', type=float, default=constants.DEFAULT_NORM_EPS)
return parser.parse_args()