U Ph>-!@sdZddlmZddlmZddlmZmZejdej dej diejdej dej d iejd ej dej d iejd ej dej d ediejdej dej diejdej dej d edediejdej dej d ediejdej dej d ediejdej dej d ededej diejdej dej d edej d edediejdej dej d edej d eded iejd!ej dej d ed"ej d eded"iejd#ej dej d ed$ej d eded%iejd&ej dej d'ed(ej d)iejd*ej dej d+ej d,iejd-ej dej d'edej d'ed(ed.iejd/ej dej d'edej d'ed0ediejd1ej dej d'ededej diejd2ej dej d'edej d'ed(ediejd3ej dej d'edej d'eded iejd4ej dej d'ed"ej d'ed(ed"iejd5ej dej d'ed$ej d'ed(ed6id7Z ejdej dej diejdej dej d iejd ej dej d iejd8ej dej diejd9ej dej d(iejd:ej dej diejd;ej dej diejdej dej dej ded iejd?ej dej d"ej d(ed"iejd@ej dej d$ej d(ed6idA Z ejdBej dej dCedDiejdEej dej dCedFiejdGej dej dCedHiejdIej dej dCedJiejdKej dej dCedLiejdMej dej dCedNedOedPedQ iejdRej dej dCedNedSedTedU idVZdS)Wa The predefined properties for a bundle workflow, other applications can leverage the properties to interact with the bundle workflow. Some properties are required and some are optional, optional properties mean: if some component of the bundle workflow refer to the property, the property must be defined, otherwise, the property can be None. Every item in this `TrainProperties` or `InferProperties` or `MetaProperties` dictionary is a property, the key is the property name and the values include: 1. description. 2. whether it's a required property. 3. config item ID name (only applicable when the bundle workflow is defined in config). 4. reference config item ID name (only applicable when the bundle workflow is defined in config). ) annotations) ID_SEP_KEY)BundlePropertyBundlePropertyConfigzroot path of the bundle.T bundle_rootz-target device to execute the bundle workflow.devicezdirectory path of the dataset. dataset_dirztraining workflow engine.traintrainerz network module for the training.F network_defz-max number of epochs to execute the training. max_epochsz.PyTorch dataset object for the training logic.datasetzBMONAI Inferer object to execute the model computation in training.infererz%data source for the training dataset.dataNz&event-handlers for the training logic.handlerstrain_handlersz*preprocessing for the training input data. preprocessing transformz2postprocessing for the training model output data.postprocessingz+key metric to compute on the training data. key_metricZkey_train_metriczvalidation workflow engine.validate evaluator validatorz(validation interval during the training. val_intervalintervalz(event-handlers for the validation logic. val_handlersz0PyTorch dataset object for the validation logic. dataloaderz'data source for the validation dataset.zDMONAI Inferer object to execute the model computation in validation.z,preprocessing for the validation input data.z4postprocessing for the validation model output data.z-key metric to compute on the validation data.Zkey_val_metric)rrrr r r Z train_datasetZ train_infererZtrain_dataset_datarZtrain_preprocessingZtrain_postprocessingZtrain_key_metricrrrZ val_datasetZval_dataset_dataZ val_infererZval_preprocessingZval_postprocessingZval_key_metricz s                     F