Closed jcbym closed 1 year ago
@justinlubin Implementation details are pretty much the same as discussed on Wednesday, except I performed AST size computations in the Python script instead of in OCaml. I thought this was a bit easier since I don't have to worry about sending more things through the subprocess call
Hello, I fixed the line endings issue! Could you configure git to use the settings described here going forward? This is the relevant command for Windows:
git config --global core.autocrlf true
Other than that, the code looks great—thank you so much for this! I don't have any suggestions for improvement!
One thing aside from the code that I'm a bit confused about is how to actually get it to run on my computer. However, I'll merge this PR in for now so that others can build on it and assign an issue to you with some next steps that I think would be helpful for making that easier.
Thank you again!!
Add a benchmarking pipeline to run synthesis on Jupyter notebook cells and record results in a csv file. Input cells are stored in
lib/cbr_numpy/data/benchmarking/targets.ipynb
, the output csv is located atlib/cbr_numpy/data/benchmarking/benchmarks.csv
, and the benchmarking script can be run fromlib/cbr_numpy/benchmarking.py
.Input cells must be of the format
where the body ends in an expression.
Edits to support benchmarking include:
test_solve.ml
intargets.ipynb
benchmark/main.ml
as entry point for subprocess call to OCaml synthesizerlib/cbr_fp/parse.ml
to support unparsing ofprogram
s and s-expressions to strings of Python codeIRParser.visit_Attribute()
to match naming format required for NumPy functions by the synthesizer