-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strided dataset feature branch #162
base: develop
Are you sure you want to change the base?
Strided dataset feature branch #162
Conversation
> > Co-authored-by: Seth Lindberg Briney [email protected] Co-authored-by: Harry Qiang [email protected]
> > Co-authored-by: Seth Lindberg Briney [email protected] Co-authored-by: Harry Qiang [email protected]
…ure_branch' into StridedDataset_feature_branch
> > Co-authored-by: Seth Lindberg Briney [email protected] Co-authored-by: Harry Qiang [email protected]
> > Co-authored-by: Seth Lindberg Briney [email protected] Co-authored-by: Harry Qiang [email protected]
Merged develop into local fork > > Co-authored-by: Seth Lindberg Briney [email protected] Co-authored-by: Harry Qiang [email protected]
@Diego-Llanes would you please upload a small example (can be a modified snippet from one of your full notebooks) demonstrating the usage to accompany the PR? |
Just added! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent notebook!
batch['name'] = self.name | ||
return batch | ||
|
||
def remainder(self, n, d): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def remainder(self, n, d): | |
@staticmethod | |
def remainder(n, d): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The notebook should be modified:
- the first image in the notebook is inconsistent with parameters in the text - create a new image illustrating parameters N, L, and stride
- include training example of simple system ID model demonstrating the use of the new dataset
- include more visualizations of how the data is processed into subsequences - it is not clear what I am looking at in the last plot, add more explanation, always label axes in the plots
strided_dataset_rahul_test.ipynb.zip I agree with Jan.
While the user can figure out how to do proper reshaping and data creation, this is a difference in our API
I attempted to do Neural ODE example with StridedDataset. For L >= nsteps looks like it trains, but the performance is not as good as standard DictDataset. For L < nsteps, it breaks. I like this functionality, but we need to ensure it works and performs on-par for all the neuromancer use-cases not just Farama DPC. If there are situations where the StridedDataset will fail (as indicated when L > nsteps), then those need to be handled appropriately. |
Also would like an example of a non-trivial update_fn, right now it is def update_initial_condition(d):
d['xn_2'] = d["xn"][0:1, :]
return d for the case of the neural ode where our keys are "X" and "xn". I don't understand how "xn_2" would play a role/being used. So what are cases where this would be necessary? |
This pull request contains the StridedDataset feature addition. The only file that have additions / changes is
src/neuromancer/dataset.py
.All of the class parameters are well documented and have docstrings.
EDIT: There is now also an example documenting the usecase of this new feature.
Contributors: