Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

optimize sparse strategy in text classification #3311

Merged
merged 2 commits into from
Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down Expand Up @@ -185,7 +186,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
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.")
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
Expand Down Expand Up @@ -180,7 +181,8 @@ def find_sparse_data():
# Feature similarity analysis & select sparse data
analysis_result = []
for batch in dev_data_loader:
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_sparse)
sparse_indexs, sparse_scores, preds = get_sparse_data(
analysis_result, args.sparse_num)

Expand Down Expand Up @@ -285,7 +287,8 @@ def find_support_data():
# Feature similarity analysis
analysis_result = []
for batch in sparse_data_loader:
analysis_result += feature_sim(batch, sample_num=-1)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_support)

support_indexs, support_scores = get_support_data(analysis_result,
args.support_num,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down Expand Up @@ -182,7 +183,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
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.")
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
Expand Down Expand Up @@ -180,7 +181,8 @@ def find_sparse_data():
# Feature similarity analysis & select sparse data
analysis_result = []
for batch in dev_data_loader:
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_sparse)
sparse_indexs, sparse_scores, preds = get_sparse_data(
analysis_result, args.sparse_num)

Expand Down Expand Up @@ -290,7 +292,8 @@ def find_support_data():
# Feature similarity analysis
analysis_result = []
for batch in sparse_data_loader:
analysis_result += feature_sim(batch, sample_num=-1)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_support)

support_indexs, support_scores = get_support_data(analysis_result,
args.support_num,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down Expand Up @@ -183,7 +184,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
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.")
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
Expand Down Expand Up @@ -180,7 +181,8 @@ def find_sparse_data():
# Feature similarity analysis & select sparse data
analysis_result = []
for batch in dev_data_loader:
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_sparse)
sparse_indexs, sparse_scores, preds = get_sparse_data(
analysis_result, args.sparse_num)

Expand Down Expand Up @@ -280,7 +282,8 @@ def find_support_data():
# Feature similarity analysis
analysis_result = []
for batch in sparse_data_loader:
analysis_result += feature_sim(batch, sample_num=-1)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_support)

support_indexs, support_scores = get_support_data(analysis_result,
args.support_num,
Expand Down