Description of changes:
Currently, it is not possible to use placeholders for Sagemaker properties.
This change makes it possible to use placeholders and define SageMaker properties dynamically, after the state machine has been created (path to those params are defined in src/stepfunctions/steps/constants.py.)
With this change, it will be possible to define Sagemaker properties by passing them directly to the Sagemaker step constructor as additional args. The args that can be defined will depend on the type of step that you create.
TODO
[ ] Add support VpcConfig for TrainingStep to pass to Estimator
[ ] Add support for CheckpointConfig for TrainingStep to pass to Estimator
[ ] Add support for InputDataConfig for TrainingStep to pass to Estimator
[ ] Add tests for TuningStep placeholders
[ ] Add test to catch InvalidPathToPlaceholderParameter exception
[ ] Update doc
Open questions
We parse through kwargs for all SageMaker step tasks and all valid SageMaker properties are treated to make placeholder compatible. This could be confusing as depending on the type of step, the properties can be propagated to a processor, estimator or tuner. Is passing the properties in the kwargs simple to understand/use or is there a need to separate SageMaker properties per step type?
Should we add documentation for each configurable SageMaker parameters that can be passed down to the processor, estimator and tuner in the functions Args section? Would a sentence mentioning those configurable parameters suffice?
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Issue #, if available: #117, #139, #94
Description of changes: Currently, it is not possible to use placeholders for Sagemaker properties. This change makes it possible to use placeholders and define SageMaker properties dynamically, after the state machine has been created (path to those params are defined in src/stepfunctions/steps/constants.py.)
With this change, it will be possible to define Sagemaker properties by passing them directly to the Sagemaker step constructor as additional args. The args that can be defined will depend on the type of step that you create.
TODO
Open questions
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.