Skip to content

Commit 77b65d3

Browse files
authored
optimize_sparse_strategy (#3311)
1 parent 938edda commit 77b65d3

File tree

6 files changed

+30
-15
lines changed

6 files changed

+30
-15
lines changed

applications/text_classification/hierarchical/analysis/README.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ python sparse.py \
126126
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
127127
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
128128
* `seed`:随机种子,默认为3。
129-
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
129+
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
130+
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
130131
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
131132
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
132133
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
@@ -185,7 +186,8 @@ python sparse.py \
185186
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
186187
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
187188
* `seed`:随机种子,默认为3。
188-
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
189+
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
190+
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
189191
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
190192
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
191193
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。

applications/text_classification/hierarchical/analysis/sparse.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
parser.add_argument("--max_seq_length", default=128, type=int, help="The maximum total input sequence length after tokenization. Sequences longer than this will be truncated, sequences shorter will be padded.")
4343
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
4444
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
45-
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
45+
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
46+
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
4647
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
4748
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
4849
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
@@ -180,7 +181,8 @@ def find_sparse_data():
180181
# Feature similarity analysis & select sparse data
181182
analysis_result = []
182183
for batch in dev_data_loader:
183-
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
184+
analysis_result += feature_sim(batch,
185+
sample_num=args.rationale_num_sparse)
184186
sparse_indexs, sparse_scores, preds = get_sparse_data(
185187
analysis_result, args.sparse_num)
186188

@@ -285,7 +287,8 @@ def find_support_data():
285287
# Feature similarity analysis
286288
analysis_result = []
287289
for batch in sparse_data_loader:
288-
analysis_result += feature_sim(batch, sample_num=-1)
290+
analysis_result += feature_sim(batch,
291+
sample_num=args.rationale_num_support)
289292

290293
support_indexs, support_scores = get_support_data(analysis_result,
291294
args.support_num,

applications/text_classification/multi_class/analysis/README.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ python sparse.py \
124124
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
125125
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
126126
* `seed`:随机种子,默认为3。
127-
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
127+
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
128+
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
128129
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
129130
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
130131
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
@@ -182,7 +183,8 @@ python sparse.py \
182183
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
183184
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
184185
* `seed`:随机种子,默认为3。
185-
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
186+
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
187+
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
186188
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
187189
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
188190
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。

applications/text_classification/multi_class/analysis/sparse.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
parser.add_argument("--max_seq_length", default=128, type=int, help="The maximum total input sequence length after tokenization. Sequences longer than this will be truncated, sequences shorter will be padded.")
4343
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
4444
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
45-
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
45+
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
46+
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
4647
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
4748
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
4849
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
@@ -180,7 +181,8 @@ def find_sparse_data():
180181
# Feature similarity analysis & select sparse data
181182
analysis_result = []
182183
for batch in dev_data_loader:
183-
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
184+
analysis_result += feature_sim(batch,
185+
sample_num=args.rationale_num_sparse)
184186
sparse_indexs, sparse_scores, preds = get_sparse_data(
185187
analysis_result, args.sparse_num)
186188

@@ -290,7 +292,8 @@ def find_support_data():
290292
# Feature similarity analysis
291293
analysis_result = []
292294
for batch in sparse_data_loader:
293-
analysis_result += feature_sim(batch, sample_num=-1)
295+
analysis_result += feature_sim(batch,
296+
sample_num=args.rationale_num_support)
294297

295298
support_indexs, support_scores = get_support_data(analysis_result,
296299
args.support_num,

applications/text_classification/multi_label/analysis/README.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ python sparse.py \
124124
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
125125
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
126126
* `seed`:随机种子,默认为3。
127-
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
127+
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
128+
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
128129
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
129130
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
130131
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
@@ -183,7 +184,8 @@ python sparse.py \
183184
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
184185
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
185186
* `seed`:随机种子,默认为3。
186-
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
187+
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
188+
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
187189
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
188190
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
189191
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。

applications/text_classification/multi_label/analysis/sparse.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
parser.add_argument("--max_seq_length", default=128, type=int, help="The maximum total input sequence length after tokenization. Sequences longer than this will be truncated, sequences shorter will be padded.")
4343
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
4444
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
45-
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
45+
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
46+
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
4647
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
4748
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
4849
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
@@ -180,7 +181,8 @@ def find_sparse_data():
180181
# Feature similarity analysis & select sparse data
181182
analysis_result = []
182183
for batch in dev_data_loader:
183-
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
184+
analysis_result += feature_sim(batch,
185+
sample_num=args.rationale_num_sparse)
184186
sparse_indexs, sparse_scores, preds = get_sparse_data(
185187
analysis_result, args.sparse_num)
186188

@@ -280,7 +282,8 @@ def find_support_data():
280282
# Feature similarity analysis
281283
analysis_result = []
282284
for batch in sparse_data_loader:
283-
analysis_result += feature_sim(batch, sample_num=-1)
285+
analysis_result += feature_sim(batch,
286+
sample_num=args.rationale_num_support)
284287

285288
support_indexs, support_scores = get_support_data(analysis_result,
286289
args.support_num,

0 commit comments

Comments
 (0)