chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import json
|
||||
import argparse
|
||||
from tqdm import tqdm
|
||||
import sys
|
||||
import os
|
||||
|
||||
sys.path.append(os.path.join(os.path.dirname(__file__), "../../"))
|
||||
|
||||
from data.mathscale.util import mathscale_extract_answer_v2
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--input_file", type=str)
|
||||
parser.add_argument("--output_file", type=str)
|
||||
parser.add_argument("--split", type=int, default=0)
|
||||
args = parser.parse_args()
|
||||
|
||||
data = [json.loads(line) for line in open(args.input_file).readlines()]
|
||||
|
||||
outputs = []
|
||||
for i, item in tqdm(enumerate(data)):
|
||||
item["id"] = f"numina-{i}"
|
||||
if "\\boxed{" not in item["completion"]:
|
||||
continue
|
||||
label = mathscale_extract_answer_v2(item["completion"])
|
||||
if label != "":
|
||||
item["label"] = label
|
||||
outputs.append(item)
|
||||
|
||||
print(len(outputs))
|
||||
if args.split <= 0:
|
||||
json.dump(outputs, open(args.output_file, "w"), indent=2)
|
||||
else:
|
||||
split_size = (len(outputs) + args.split - 1) // args.split
|
||||
for i in range(args.split):
|
||||
json.dump(outputs[i * split_size:(i + 1) * split_size],
|
||||
open(args.output_file.replace(".json", f".{i}-of-{args.split}.json"), "w"), indent=2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user