-
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
episode sample project #349
episode sample project #349
Conversation
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.
I'm glad that we're starting to see some of what you're planning with these additions! As this PR requires some of the others that are not yet merged, can you merge them into your elmbeech:patch1141_episode
so that we can test this project?
Since this project's name does not immediately suggest what it is modeling, could you add a sample_projects/episode/README.md
to describe what users should be expecting from this? I am not sure what part of this highlights the power of the episodes. To me, all I see is that this runs the model 4 times. Is there more to this that I'm missing? If that's the power (avoiding the overhead of relaunching the program), could you benchmark and provide a simple bar plot, maybe in that readme? Just running n
sims with and without episodes and comparing wall time.
Hi Daniel, Sure, I can merge all the needed PR's together. You are correct, all this sample project does is running consecutive episodes of a physicell model in one runtime. I can add a README with this explanation. Best, Elmar |
looks like windows cases some troubles. |
ok @drbergman, now everything is merged, modified as requested, and all tests are passing! |
Final question (no promises though 🙃): Does this sample project show the full use of the proposed updates to |
I'd probably prefer to stick with just the I also confirmed that this sample project compiles, runs, and generates the Also, when running, I see the WARNING related to
(to be clear, there is no random_seed in user params; the warning is printed due to the logic in the C++ code) and related to that, do you really want to use the same |
hmm ... is this answering your question? |
cool! same conclusion on my side.
the leading 0 would be nice. could you please give me a hint, how to do this easy in C++? I have a python script to check if the output is correct (exactly the same when running with one thread). it uses pcdl and the output is at this moment a bit cryptic. i tested heavily on linux. and trust that the output is the same on windows. this pcdl script will eventually become a unit test for the reinforcement learning project and run on github workflow. so i am not too worried that we not will catch such an error.
I am aware of this warning, but this not really in my hand.
yes, if you wanna check that you have no drift in consecutive episodes, you wanna run all episodes with the same seed and one thread. |
In this case, we can choose to refactor these functions rather than redefine them. This avoids introducing in these functions what I still find to be confusing delineations between what is and is not reloadable. See #346 for what is reloadable. My first pass replaces parts of your
where we define
I opened a PR showing the full set of changes for this refactor. |
It only shows up on |
refactor to simplify edits to core
still need to either include test svgs in |
I thought had already updated the yml files. |
That works manually, but the gh actions will want to test the svgs in |
do not compare episode svgs in test suite
this code passes all the tests. |
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.
Looks good to me now. Refactors in the code improve code readability and make the necessary internals exposed for this project. A sample project that gives the framework a skeleton upon which to build will make this easier for users to pick up. Also, put the new project in the testing suite for CI.
Thank you, Daniel! |
…ause the function is no longer that much different.
NICE WORK!! |
Thank you, Paul! |
I could successfully compile the reinforcement learning user_project.
to make it compatible, i might have to make it in C style like
i will check in deep right now. |
… related reinforcement learning project.
ok! that's definitely it. |
Elmar thank you for the OUTSTANDING work on this, as well as for being so responsive on edits. Daniel, thank you for all the mentoring and QC!!! |
This is the physicell episode sample project, written to run multiple consecutive episodes in a single runtime.
This project is linked to pull request #346 , #277 , and #266 .