Conversation
bruno-f-cruz
left a comment
There was a problem hiding this comment.
Here's a first pass.
One question: do you have plans for generating docs for the curricula?
I have done these for VrForaging: https://allenneuraldynamics.github.io/Aind.Behavior.VrForaging.Curricula/
But it wont work here because I hold them in two separate repos. We could re-use some of it i guess, but I will leave it up to you. Def not urgent
| "pydantic-settings", | ||
| ] | ||
|
|
||
| [tool.uv.workspace] |
There was a problem hiding this comment.
What I had in mind was slightly different. I think we could just move the curriculum package to ./src and use that as the workspace root instead. I think it makes the organization a bit more uniform and easier to follow.
src/aind_behavior_dynamic_foraging/task_logic/trial_generators/warmup_trial_generator.py
Outdated
Show resolved
Hide resolved
|
|
||
| # warmup | ||
| @StageTransition | ||
| def st_stage_1_warmup_to_stage_1(metrics: DynamicForagingMetrics) -> bool: |
There was a problem hiding this comment.
Are there not better names for these stages? using the index seems a bit wasteful since the graph already has this information implicitly
There was a problem hiding this comment.
These are the names of the stages currently used so I'm not sure. That would be a good question for scientists
There was a problem hiding this comment.
I guess we can just wait until someone figures out that a stage should be added (or removed) between 2 and 3 and we will call it stage_2_5 🤣
...-behavior-dynamic-foraging-curricula/src/aind_behavior_dynamic_foraging_curricula/metrics.py
Outdated
Show resolved
Hide resolved
...-behavior-dynamic-foraging-curricula/src/aind_behavior_dynamic_foraging_curricula/metrics.py
Outdated
Show resolved
Hide resolved
...-behavior-dynamic-foraging-curricula/src/aind_behavior_dynamic_foraging_curricula/metrics.py
Outdated
Show resolved
Hide resolved
...-behavior-dynamic-foraging-curricula/src/aind_behavior_dynamic_foraging_curricula/metrics.py
Outdated
Show resolved
Hide resolved
...ind-behavior-dynamic-foraging-curricula/src/aind_behavior_dynamic_foraging_curricula/test.py
Outdated
Show resolved
Hide resolved
workspace/aind_behavior_dynamic_foraging_curricula/tests/test_metrics.py
Show resolved
Hide resolved
I did not have any plans for docs. I can start working on that next! |
|
@bruno-f-cruz ready for a second look through. Not entirely sure if the repo structure now aligns with what you had in mind. |
There was a problem hiding this comment.
Change the folder name to use underscores instead of dashes and otherwise probably good to go :)
I think you may also be missing a top-level pyproject toml for the full project https://docs.astral.sh/uv/concepts/projects/workspaces/#workspace-layouts
…cs/Aind.Behavior.DynamicForaging into feat-adding-curriculum
|
@bruno-f-cruz the current structure works in terms of both packages being independently built and synced. Another way that would make sense to me is something like this where its clear that the curricula and mapper are packages to be used on top of the task. This also mirrors the uv example |
|
Sure. Just be careful with abusing the pattern too much. Optional dependencies are always an option. I am ok with either option and will trust your judgment either way. |
Added aind-behavior-dynamic-foraging-curricula as a workspace. I mirrored what was done is Aind.Behavior.VrForaging.Curricula. Had to add some args for metrics_from_dataset since df metrics depend on past sessions. Added tests for coupled_baiting and minimal tests for metrics. Should probably add some tests for calculating foraging efficiency