Necessary too for Nipype to execute resource management. This PR alleviates the problems of memory with SynthStrip by (1) setting a reasonable number of CPUs when operating in that mode [memory fingerprint drops as numpy is not so overeager]; and (2) permits nipype to execute resource management, ensuring there are not too many synthstrip instances operating at once.
As long as SynthStrip's model continues to be as large, and as long as pytorch does not implement all the layers in the model with half-precision, this is the best we can do at the moment.
Necessary too for Nipype to execute resource management. This PR alleviates the problems of memory with SynthStrip by (1) setting a reasonable number of CPUs when operating in that mode [memory fingerprint drops as numpy is not so overeager]; and (2) permits nipype to execute resource management, ensuring there are not too many synthstrip instances operating at once.
As long as SynthStrip's model continues to be as large, and as long as pytorch does not implement all the layers in the model with half-precision, this is the best we can do at the moment.
Resolves #1004.