Spaces:
Sleeping
Sleeping
Commit
·
d974a2c
1
Parent(s):
f2e0980
Compatible filenames
Browse files- pysr/feynman_problems.py +7 -4
- pysr/sr.py +1 -1
pysr/feynman_problems.py
CHANGED
|
@@ -2,6 +2,10 @@ import numpy as np
|
|
| 2 |
import csv
|
| 3 |
import traceback
|
| 4 |
from .sr import pysr, best
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
class Problem:
|
| 7 |
"""
|
|
@@ -59,7 +63,7 @@ class FeynmanProblem(Problem):
|
|
| 59 |
def __repr__(self):
|
| 60 |
return str(self)
|
| 61 |
|
| 62 |
-
def mk_problems(first=100, gen=False, dp=500, data_dir=
|
| 63 |
"""
|
| 64 |
|
| 65 |
first: the first "first" equations from the dataset will be made into problems
|
|
@@ -97,8 +101,7 @@ def run_on_problem(problem, verbosity=0, multiprocessing=True):
|
|
| 97 |
others['equations'] = equations
|
| 98 |
return str(best(equations)), problem.form, others
|
| 99 |
|
| 100 |
-
|
| 101 |
-
def do_feynman_experiments_parallel(first=100, verbosity=0, dp=500, output_file_path="experiments/FeynmanExperiment.csv", data_dir="datasets/FeynmanEquations.csv"):
|
| 102 |
import multiprocessing as mp
|
| 103 |
from tqdm import tqdm
|
| 104 |
problems = FeynmanProblem.mk_problems(first=first, gen=True, dp=dp, data_dir=data_dir)
|
|
@@ -126,7 +129,7 @@ def do_feynman_experiments_parallel(first=100, verbosity=0, dp=500, output_file_
|
|
| 126 |
writer.writerow([ids[i], predictions[i], true_equations[i], time_takens[i]])
|
| 127 |
return
|
| 128 |
|
| 129 |
-
def do_feynman_experiments(first=100, verbosity=0, dp=500, output_file_path="
|
| 130 |
from tqdm import tqdm
|
| 131 |
|
| 132 |
problems = FeynmanProblem.mk_problems(first=first, gen=True, dp=dp, data_dir=data_dir)
|
|
|
|
| 2 |
import csv
|
| 3 |
import traceback
|
| 4 |
from .sr import pysr, best
|
| 5 |
+
from pathlib import Path
|
| 6 |
+
|
| 7 |
+
PKG_DIR = Path(__file__).parents[1]
|
| 8 |
+
FEYNMAN_DATASET = PKG_DIR / "datasets" / "FeynmanEquations.csv"
|
| 9 |
|
| 10 |
class Problem:
|
| 11 |
"""
|
|
|
|
| 63 |
def __repr__(self):
|
| 64 |
return str(self)
|
| 65 |
|
| 66 |
+
def mk_problems(first=100, gen=False, dp=500, data_dir=FEYNMAN_DATASET):
|
| 67 |
"""
|
| 68 |
|
| 69 |
first: the first "first" equations from the dataset will be made into problems
|
|
|
|
| 101 |
others['equations'] = equations
|
| 102 |
return str(best(equations)), problem.form, others
|
| 103 |
|
| 104 |
+
def do_feynman_experiments_parallel(first=100, verbosity=0, dp=500, output_file_path="FeynmanExperiment.csv", data_dir=FEYNMAN_DATASET):
|
|
|
|
| 105 |
import multiprocessing as mp
|
| 106 |
from tqdm import tqdm
|
| 107 |
problems = FeynmanProblem.mk_problems(first=first, gen=True, dp=dp, data_dir=data_dir)
|
|
|
|
| 129 |
writer.writerow([ids[i], predictions[i], true_equations[i], time_takens[i]])
|
| 130 |
return
|
| 131 |
|
| 132 |
+
def do_feynman_experiments(first=100, verbosity=0, dp=500, output_file_path="FeynmanExperiment.csv", data_dir=FEYNMAN_DATASET):
|
| 133 |
from tqdm import tqdm
|
| 134 |
|
| 135 |
problems = FeynmanProblem.mk_problems(first=first, gen=True, dp=dp, data_dir=data_dir)
|
pysr/sr.py
CHANGED
|
@@ -312,7 +312,7 @@ def _final_pysr_process(julia_optimization, runfile_filename, timeout, **kwargs)
|
|
| 312 |
command = [f'timeout', f'{timeout}'] + command
|
| 313 |
_cmd_runner(command, **kwargs)
|
| 314 |
|
| 315 |
-
def _cmd_runner(command):
|
| 316 |
if kwargs['verbosity'] > 0:
|
| 317 |
print("Running on", ' '.join(command))
|
| 318 |
process = subprocess.Popen(command, stdout=subprocess.PIPE, bufsize=-1)
|
|
|
|
| 312 |
command = [f'timeout', f'{timeout}'] + command
|
| 313 |
_cmd_runner(command, **kwargs)
|
| 314 |
|
| 315 |
+
def _cmd_runner(command, **kwargs):
|
| 316 |
if kwargs['verbosity'] > 0:
|
| 317 |
print("Running on", ' '.join(command))
|
| 318 |
process = subprocess.Popen(command, stdout=subprocess.PIPE, bufsize=-1)
|