o % i>-@sdZddlmZddlmZddlmZmZidejdej dej didejd ej dej did ejd ej dej d id ejd ej dej ded idejdej dej didejdej dej ded edidejdej dej dedidejdej dej dedidejdej dej dededej didejdej dej ded ej ded edid!ejd"ej dej ded#ej deded$id%ejd&ej dej ded'ej ded ed'id(ejd)ej dej ded*ej ded ed+id,ejd-ej dej d.ed,ej d/id0ejd1ej dej d0ej d2id3ejd4ej dej d.ed ej d.ed,ed3id5ejd6ej dej d.edej d.ed7ediejd8ej dej d.ededej diejd9ej dej d.edej d.ed,ediejd:ej dej d.ed#ej d.eded$iejd;ej dej d.ed'ej d.ed,ed'iejdZ ejdej dej diejd ej dej diejd ej dej d iejd?ej dej diejd@ej dej d,iejdAej dej diejdBej dej diejdCej dej dedej diejdDej dej d ej d,ed3iejdEej dej d#ej ded$iejdFej dej d'ej d,ed'iejdGej dej d*ej d,ed=idH Z ejdIej dej dJedKiejdLej dej dJedMiejdNej dej dJedOiejdPej dej dJedQiejdRej dej dJedSiejdTej dej dJedUedVedWedX iejdYej dej dJedUedZed[ed\ id]ZdS)^a 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)BundlePropertyBundlePropertyConfig bundle_rootzroot path of the bundle.Tdevicez-target device to execute the bundle workflow. dataset_dirzdirectory path of the dataset.trainerztraining workflow engine.train network_defz network module for the training.F max_epochsz-max number of epochs to execute the training.Z train_datasetz.PyTorch dataset object for the training logic.datasetZ train_infererzBMONAI Inferer object to execute the model computation in training.infererZtrain_dataset_dataz%data source for the training dataset.dataNZtrain_handlersz&event-handlers for the training logic.handlersZtrain_preprocessingz*preprocessing for the training input data. preprocessing transformZtrain_postprocessingz2postprocessing for the training model output data.postprocessingZtrain_key_metricz+key metric to compute on the training data. key_metricZkey_train_metric evaluatorzvalidation workflow engine.validate validatorZ val_intervalz(validation interval during the training.interval val_handlersz(event-handlers for the validation logic.Z val_datasetz0PyTorch 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)Zval_dataset_dataZ val_infererZval_preprocessingZval_postprocessingZval_key_metriczs   $)/5;AGMSY`F