

Sagemaker Python SDK es una biblioteca de código abierto para capacitar e implementar modelos de aprendizaje automático en Amazon Sagemaker.
Con el SDK, puede entrenar e implementar modelos utilizando los populares marcos de aprendizaje profundo Apache MXNET y TensorFlow . También puede entrenar e implementar modelos con algoritmos de Amazon , que son implementaciones escalables de algoritmos de aprendizaje automático central que están optimizados para la capacitación de Sagemaker y GPU. Si tiene sus propios algoritmos integrados en los contenedores de Docker compatibles con Sagemaker, también puede entrenar y alojar modelos utilizando estos.
Para una documentación detallada, incluida la referencia de API, consulte Lea los documentos.
El Sagemaker Python SDK está construido para PYPI y la última versión del Sagemaker Python SDK se puede instalar con PIP de la siguiente manera
PIP install sagemaker == <Última versión de Pypi de https://pypi.org/project/sagemaker/>
Puede instalar desde la fuente clonando este repositorio y ejecutando un comando de instalación PIP en el directorio raíz del repositorio:
Git clon https://github.com/aws/sagemaker-python-sdk.git CD Sagemaker-Python-SDK Instalar PIP.
Sagemaker Python SDK admite Unix/Linux y Mac.
Sagemaker Python SDK se prueba en:
La Biblioteca sagemaker tiene telemetría habilitada para ayudarnos a comprender mejor las necesidades del usuario, diagnosticar problemas y entregar nuevas funciones. Esta telemetría rastrea el uso de varias funciones de Sagemaker.
Si prefiere optar por no recibir telemetría, puede hacerlo fácilmente configurando el parámetro TelemetryOptOut en true en la configuración de valor predeterminado SDK. Para obtener instrucciones detalladas, visite la configuración y el uso de valores predeterminados con Sagemaker Python SDK.
Como servicio administrado, Amazon Sagemaker realiza operaciones en su nombre en el hardware de AWS administrado por Amazon SageMaker. Amazon Sagemaker solo puede realizar operaciones que el usuario permite. Puede leer más sobre qué permisos son necesarios en la documentación de AWS.
Sagemaker Python SDK no debe requerir ningún permiso adicional aparte de lo que se requiere para usar Sagemaker. Sin embargo, si está utilizando un papel de IAM con un camino, debe otorgar permiso para iam:GetRole .
Sagemaker Python SDK tiene licencia bajo la licencia Apache 2.0. Es Copyright Amazon.com, Inc. o sus afiliados. Reservados todos los derechos. La licencia está disponible en: http://aws.amazon.com/apache2.0/
Sagemaker Python SDK tiene pruebas unitarias y pruebas de integración.
Puede instalar las bibliotecas necesarias para ejecutar las pruebas ejecutando pip install --upgrade .[test] o, para usuarios de ZSH: pip install --upgrade .[test]
Pruebas unitarias
Ejecutamos pruebas unitarias con Tox, que es un programa que le permite ejecutar pruebas unitarias para múltiples versiones de Python, y también nos aseguramos de que el código se ajuste a nuestras pautas de estilo. Ejecutamos TOX con todas nuestras versiones de Python compatibles, por lo que para ejecutar pruebas unitarias con la misma configuración que hacemos, debe tener intérpretes para esas versiones de Python instaladas.
Para ejecutar las pruebas unitarias con tox, ejecute:
Pruebas de tox/unidad
Pruebas de integración
Para ejecutar las pruebas de integración, se deben cumplir los siguientes requisitos previos
SageMakerRole . Debe tener la política de AmazonSageMakerFullaccess adjunta, así como una política con los permisos necesarios para usar la inferencia elástica.aws ecr create-repository --repository-name remote-function-dummy-containerRecomendamos ejecutar selectivamente solo esas pruebas de integración que le gustaría ejecutar. Puede filtrar por nombres de funciones de prueba individuales con:
tox --k 'test_i_care_about'
También puede ejecutar todas las pruebas de integración ejecutando el siguiente comando, que las ejecuta en secuencia, lo que puede llevar un tiempo:
Tox - Pruebas/Integ
También puedes ejecutarlos en paralelo:
tox --n pruebas automáticas/integ
Para habilitar todos los ganchos GIT en el directorio .gitooks, ejecute estos comandos en el directorio de repositorio:
encontrar .git/gooks -type l -exec rm {} ;
encontrar .githooks -type f -exec ln -sf ../../ {} .git/gooks/;
Para habilitar un gancho individual, simplemente muévalo del directorio .gitooks/ al directorio .git/ ganchos/.
Configurar un entorno Python e instalar las dependencias enumeradas en doc/requirements.txt :
# conda conda create -n sagemaker python = 3.7 conda active sagemaker conda install sphinx = 3.1.1 sphinx_rtd_theme = 0.5.0 # Pip PIP Install -r DOC/Requisitos.txt
Clon/bifurca el repositorio e instale su versión local:
PIP Install -Upgrade.
Luego cd en el directorio sagemaker-python-sdk/doc y ejecute:
hacer html
Puede editar las plantillas para cualquiera de las páginas en los documentos editando los archivos .rst en el directorio doc y luego ejecutando make html nuevamente.
Vista previa del sitio con un servidor web de Python:
CD _Build/HTML python -m http.server 8000
Vea el sitio web visitando http: // localhost: 8000
Con SageMaker Sparkml Serving, ahora puede realizar predicciones contra un modelo SparkML en Sagemaker. Para alojar un modelo SparkML en Sagemaker, debe ser serializado con la biblioteca MLeap .
Para obtener más información sobre MLEAP, consulte https://github.com/combust/mleap.
Versión principal compatible de Spark: 3.3 (Versión MLEAP - 0.20.0)
Aquí hay un ejemplo sobre cómo crear una instancia de la clase SparkMLModel y usar el método deploy() para crear un punto final que se puede usar para realizar una predicción contra su modelo SparkML entrenado.
sparkml_model = SparkMLModel ( model_data = 's3://path/to/model.tar.gz' , env = { 'SAGEMAKER_SPARKML_SCHEMA' : schema })
model_name = 'sparkml-model'
endpoint_name = 'sparkml-endpoint'
predictor = sparkml_model . deploy ( initial_instance_count = 1 , instance_type = 'ml.c4.xlarge' , endpoint_name = endpoint_name ) Una vez que se implementa el modelo, podemos invocar el punto final con una carga útil CSV como esta:
payload = 'field_1,field_2,field_3,field_4,field_5'
predictor . predict ( payload ) Para obtener más información sobre los diferentes formatos content-type y Accept , así como la estructura del schema que reconoce SageMaker Sparkml, consulte el contenedor SageMaker Sparkml Serving.