Spaces:
Running
Running
MilesCranmer
commited on
Commit
•
c57ba15
1
Parent(s):
a65054b
Combine todo items
Browse files
TODO.md
CHANGED
@@ -52,16 +52,16 @@
|
|
52 |
- [x] Control max depth, rather than max number of nodes?
|
53 |
- [x] Allow user to pass names for variables - use these when printing
|
54 |
- [x] Check for domain errors in an equation quickly before actually running the entire array over it. (We do this now recursively - every single equation is checked for nans/infs when being computed.)
|
|
|
55 |
- [ ] Sort these todo lists by priority
|
56 |
|
57 |
## Feature ideas
|
58 |
|
|
|
59 |
- [ ] Cross-validation
|
60 |
-
- [ ] read the docs page
|
61 |
- [ ] Sympy printing
|
62 |
- [ ] Better cleanup of zombie processes after <ctl-c>
|
63 |
- [ ] Hierarchical model, so can re-use functional forms. Output of one equation goes into second equation?
|
64 |
-
- [ ] Call function to read from csv after running, so dont need to run again
|
65 |
- [ ] Add function to plot equations
|
66 |
- [ ] Refresh screen rather than dumping to stdout?
|
67 |
- [ ] Add ability to save state from python
|
@@ -69,7 +69,6 @@
|
|
69 |
- [ ] Multi targets (vector ops). Idea 1: Node struct contains argument for which registers it is applied to. Then, can work with multiple components simultaneously. Though this may be tricky to get right. Idea 2: each op is defined by input/output space. Some operators are flexible, and the spaces should be adjusted automatically. Otherwise, only consider ops that make a tree possible. But will need additional ops here to get it to work. Idea 3: define each equation in 2 parts: one part that is shared between all outputs, and one that is different between all outputs. Maybe this could be an array of nodes corresponding to each output. And those nodes would define their functions.
|
70 |
- [ ] Tree crossover? I.e., can take as input a part of the same equation, so long as it is the same level or below?
|
71 |
- [ ] Consider printing output sorted by score, not by complexity.
|
72 |
-
- [ ] Dump scores alongside MSE to .csv (and return with Pandas).
|
73 |
- [ ] Create flexible way of providing "simplification recipes." I.e., plus(plus(T, C), C) => plus(T, +(C, C)). The user could pass these.
|
74 |
- [ ] Consider allowing multi-threading turned off, for faster testing (cache issue on travis). Or could simply fix the caching issue there.
|
75 |
- [ ] Consider returning only the equation of interest; rather than all equations.
|
|
|
52 |
- [x] Control max depth, rather than max number of nodes?
|
53 |
- [x] Allow user to pass names for variables - use these when printing
|
54 |
- [x] Check for domain errors in an equation quickly before actually running the entire array over it. (We do this now recursively - every single equation is checked for nans/infs when being computed.)
|
55 |
+
- [x] read the docs page
|
56 |
- [ ] Sort these todo lists by priority
|
57 |
|
58 |
## Feature ideas
|
59 |
|
60 |
+
- [ ] Create backup csv file so always something to copy from for `PySR`. Also use random hall of fame file by default. Call function to read from csv after running, so dont need to run again. Dump scores alongside MSE to .csv (and return with Pandas).
|
61 |
- [ ] Cross-validation
|
|
|
62 |
- [ ] Sympy printing
|
63 |
- [ ] Better cleanup of zombie processes after <ctl-c>
|
64 |
- [ ] Hierarchical model, so can re-use functional forms. Output of one equation goes into second equation?
|
|
|
65 |
- [ ] Add function to plot equations
|
66 |
- [ ] Refresh screen rather than dumping to stdout?
|
67 |
- [ ] Add ability to save state from python
|
|
|
69 |
- [ ] Multi targets (vector ops). Idea 1: Node struct contains argument for which registers it is applied to. Then, can work with multiple components simultaneously. Though this may be tricky to get right. Idea 2: each op is defined by input/output space. Some operators are flexible, and the spaces should be adjusted automatically. Otherwise, only consider ops that make a tree possible. But will need additional ops here to get it to work. Idea 3: define each equation in 2 parts: one part that is shared between all outputs, and one that is different between all outputs. Maybe this could be an array of nodes corresponding to each output. And those nodes would define their functions.
|
70 |
- [ ] Tree crossover? I.e., can take as input a part of the same equation, so long as it is the same level or below?
|
71 |
- [ ] Consider printing output sorted by score, not by complexity.
|
|
|
72 |
- [ ] Create flexible way of providing "simplification recipes." I.e., plus(plus(T, C), C) => plus(T, +(C, C)). The user could pass these.
|
73 |
- [ ] Consider allowing multi-threading turned off, for faster testing (cache issue on travis). Or could simply fix the caching issue there.
|
74 |
- [ ] Consider returning only the equation of interest; rather than all equations.
|