He estado usando una instancia de jupyter notebook para activar un trabajo de entrenamiento (en una instancia separada) e implementar el punto final (en otra instancia). Estoy usando las API de tensorflow de sagemaker para esto, como se muestra a continuación:
# create Tensorflow object and provide and entry point script tf_estimator = TensorFlow(entry_point='tf-train.py', role='SageMakerRole', train_instance_count=1, train_instance_type='ml.p2.xlarge', framework_version='1.12', py_version='py3') # train model on data on s3 and save model artifacts to s3 tf_estimator.fit('s3://bucket/path/to/training/data') # deploy model on another instance using checkpoints saved on S3 predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.c5.xlarge', endpoint_type='tensorflow-serving')He estado haciendo todos estos pasos a través de una instancia de jupyter notebook. ¿Qué servicios de AWS puedo usar para deshacerme de la dependencia de la instancia de jupyter notebook y automatizar estas tareas de capacitación e implementación del modelo sin servidor?
Recomiendo AWS Step Functions . Lo he estado usando para programar trabajos de preprocesamiento y SageMaker Batch Transform , ya que se integra con las reglas de eventos de CloudWatch . También puede entrenar modelos, realizar ajustes de hpo y se integra con lambda . Existe un SDK de SageMaker/Step Functions y también puede usar Step Functions directamente mediante la creación de máquinas de estado. Algunos ejemplos y documentación:
https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html