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
7th tutorial - Nilearn multilevel (two-level) glm #34
Conversation
please open an issue in pydra regarding this. in pydra-ml we pass other non-standard objects (for example scikit-learn pipelines: https://github.com/nipype/pydra-ml/blob/master/pydra_ml/tasks.py#L103 - hence there must be something specific that's at work here) |
I think that adding an extra Still has no idea why I saw some issues only when running with jupyter notebook... |
@yibeichan - have you had a chance to check this failing tests? Looks like GA doesn't like the workflow for any version of python.. :( |
ok, I see it now, let's see if that helps. I'm still not able to run the workflow, but would be interested in seeing if that works on GS |
Thank you! I've just run the workflow on my laptop and I could see that sometimes memory was around 7GB, so it definitely could be still a memory issue..:( Perhaps we should just downsample?? |
hello Team! Finally, after one month, this notebook passed GHA. Yes, it was the memory issue. Thanks Dorota helping me find the solution for down sampling, which was a solution Chris provided on Neurostars :). @effigies once you get time, please check and merge. Thank you! |
I made a few formatting/structural changes to have the jupyter book look prettier. |
Thank you! Great job! |
Hello team!
Finally I can create PR for this 7th tutorial. This is a two-level nilearn glm, using the data from Balloon Analog Risk-taking Task, which has 16 subjects. I randomly chose 5 for our analysis. More details are in the notebook.
Here is a summary about the issues we encountered in the past month.
After endless debugging w/ @djarecka, we found that pydra is restrict with its task input types.
list
,dict
,str
,int
, etc., works fine.File
, fine toopandas.DataFram
orFirstLevelModel
and we define it asty.Any
, still okay.list[dict]
orlist[str]
, still okay.pandas.DataFrame
orFirstLevelModel
, it will cause connection problems in the workflow that the output can't be collected or passed to the next node.In this twolevel glm, the inputs for the secondlevel glm are lists. For example, that problematic node
secondlevel_estimation
needs the list ofFirstLevelModel
as inputs. More details about this node are in this issue #33I don't know how to solve this problem yet, but I found a way to avoid it. If I need a list of
pandas.DataFrame
as input, I saved those dataframes into file then use the list of filepath (list[str]
). Same forFirstLevelModel
, I saved thefirstlevel z_maps
into files and then read those file paths.This 7th tutorial notebook runs successfully on my laptop. Hope it can pass the test here.
Thanks to @djarecka and @htwangtw for help!!