Plot2Eq / scripts /build_dataset.py
YauheniShe's picture
Добавлен скрипт для создания датасета
2067d03
Raw History Blame Contribute Delete
1.91 kB
import argparse
import os
import sys
from pathlib import Path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
from src.data_prep.canonicalize import run_canonicalization
from src.data_prep.collisions import run_collision_removal
from src.data_prep.compile import run_compilation
from src.data_prep.normalize import run_normalization
def main():
parser = argparse.ArgumentParser(description="Сборка датасета Graph2Eq")
parser.add_argument(
"--raw_data", type=str, default="data", help="Папка с сырыми чанками"
)
parser.add_argument(
"--output_dir",
type=str,
default="data_cleared",
help="Папка для .pt тензоров",
)
args = parser.parse_args()
# Папки для промежуточных этапов
raw_dir = Path(args.raw_data)
step1_dir = Path("data/tmp_1_canonical")
step2_dir = Path("data/tmp_2_normalized")
step3_dir = Path("data/tmp_3_no_collisions")
final_dir = Path(args.output_dir)
print("\n" + "=" * 40)
print("ШАГ 1: Канонизация выражений (cos -> sin)")
print("=" * 40)
run_canonicalization(raw_dir, step1_dir)
print("\n" + "=" * 40)
print("ШАГ 2: Геометрическая чистка и BBox нормализация")
print("=" * 40)
run_normalization(step1_dir, step2_dir)
print("\n" + "=" * 40)
print("ШАГ 3: Удаление визуальных коллизий (GPU)")
print("=" * 40)
ckpt_path = Path("data/gpu_checkpoint.pt")
run_collision_removal(step2_dir, step3_dir, ckpt_path)
print("\n" + "=" * 40)
print("ШАГ 4: Компиляция PyTorch тензоров")
print("=" * 40)
run_compilation(step3_dir, final_dir)
print("\n Датасет готов!")
if __name__ == "__main__":
main()