Project-MONAI / monai-deploy-app-sdk

MONAI Deploy App SDK offers a framework and associated tools to design, develop and verify AI-driven applications in the healthcare imaging domain.
Apache License 2.0
94 stars 48 forks source link

Need app running definition and requirements standardization capabilities and a common way to pass this onto platforms during deployment #226

Open GreySeaWolf opened 2 years ago

GreySeaWolf commented 2 years ago

Developers should be able to specify the requirements for their algorithms. One should be able to specify the minimum memory, number of GPUs needed, as well as input and output requirements for their algorithm. For example, one can say my expected input is CT Chest with No Contrast with a maximum slice thickness of 3mm, the algorithm needs to be always on (a request may come any time). The expected image input is DICOM, the expected output is DICOM SR. I need 1 GPU, my memory needs are 1GB per GPU, etc.

MMelQin commented 2 years ago

System memory, GPU and GPU mem are already supported in the spec of the MAP manifest. Such attributes are specified as decorators on application, which is then parsed by an utility for the App Packager to encode in the manifest.

Some of the specific DICOM input attributes can be handled by the base Series Selector or the extension of it, though there is indeed a need to expose such info/metadata so that the workflow definition can programmatically consume it, as discussed on the overall Deploy issue board.

dbericat commented 1 year ago

After MONAI Bundle inference.json available on 1.x, how many of the DICOM required operators do we still want to expose as metadata for platforms to read and act upon?

@GreySeaWolf @MMelQin @ericspod @vikashg @tomaroberts

MMelQin commented 1 year ago

After MONAI Bundle inference.json available on 1.x, how many of the DICOM required operators do we still want to expose as metadata for platforms to read and act upon?

@GreySeaWolf @MMelQin @ericspod @vikashg @tomaroberts

Sorry, the question seems to have confused different things together.