Logotipo de Zephyrnet

Acelere los flujos de trabajo de aprendizaje automático con el modo local de Amazon SageMaker Studio y la compatibilidad con Docker | Servicios web de Amazon

Fecha:

Nos complace anunciar dos nuevas capacidades en Estudio Amazon SageMaker que acelerará el desarrollo iterativo para los profesionales del aprendizaje automático (ML): modo local y compatibilidad con Docker. El desarrollo de modelos de aprendizaje automático a menudo implica ciclos de iteración lentos a medida que los desarrolladores cambian entre codificación, capacitación e implementación. Cada paso requiere esperar a que se inicien los recursos informáticos remotos, lo que retrasa la validación de las implementaciones y la obtención de comentarios sobre los cambios.

Con el modo local, los desarrolladores ahora pueden entrenar y probar modelos, depurar código y validar canalizaciones de un extremo a otro directamente en su instancia de notebook SageMaker Studio sin la necesidad de activar recursos informáticos remotos. Esto reduce el ciclo de iteración de minutos a segundos, lo que aumenta la productividad del desarrollador. La compatibilidad con Docker en los portátiles de SageMaker Studio permite a los desarrolladores crear contenedores Docker sin esfuerzo y acceder a contenedores prediseñados, lo que proporciona un entorno de desarrollo coherente en todo el equipo y evita la configuración y la gestión de dependencias que consumen mucho tiempo.

El modo local y la compatibilidad con Docker ofrecen un flujo de trabajo optimizado para validar cambios de código y crear prototipos de modelos utilizando contenedores locales que se ejecutan en una computadora portátil SageMaker Studio.

instancia. En esta publicación, lo guiamos a través de la configuración del modo local en SageMaker Studio, la ejecución de un trabajo de capacitación de muestra y la implementación del modelo en un Amazon SageMaker punto final desde un cuaderno de SageMaker Studio.

Modo local de SageMaker Studio

SageMaker Studio presenta el modo local, que le permite ejecutar trabajos de entrenamiento, inferencia, transformación por lotes y procesamiento de SageMaker directamente en sus instancias de notebook de JupyterLab, Code Editor o SageMaker Studio Classic sin necesidad de recursos informáticos remotos. Los beneficios de usar el modo local incluyen:

  • Validación y prueba instantáneas de flujos de trabajo directamente dentro de entornos de desarrollo integrados (IDE)
  • Iteración más rápida a través de ejecuciones locales para trabajos de menor escala para inspeccionar los resultados e identificar problemas tempranamente.
  • Mejora de la eficiencia de desarrollo y depuración al eliminar la espera de trabajos de capacitación remota
  • Comentarios inmediatos sobre los cambios de código antes de ejecutar trabajos completos en la nube

La siguiente figura ilustra el flujo de trabajo usando el modo local en SageMaker.

Flujo de trabajo usando el modo local en SageMaker

Para utilizar el modo local, configure instance_type='local' al ejecutar trabajos de SageMaker Python SDK, como entrenamiento e inferencia. Esto los ejecutará en las instancias utilizadas por sus IDE de SageMaker Studio en lugar de aprovisionar recursos en la nube.

Aunque ciertas capacidades, como la capacitación distribuida, solo están disponibles en la nube, el modo local elimina la necesidad de cambiar de contexto para iteraciones rápidas. Cuando esté listo para aprovechar toda la potencia y escala de SageMaker, podrá ejecutar sin problemas su flujo de trabajo en la nube.

Soporte de Docker en SageMaker Studio

SageMaker Studio ahora también permite crear y ejecutar contenedores Docker localmente en su instancia de notebook de SageMaker Studio. Esta nueva característica le permite crear y validar imágenes de Docker en SageMaker Studio antes de usarlas para el entrenamiento y la inferencia de SageMaker.

El siguiente diagrama ilustra la arquitectura de orquestación Docker de alto nivel dentro de SageMaker Studio.

Arquitectura de orquestación Docker de alto nivel dentro de SageMaker Studio

Con la compatibilidad con Docker en SageMaker Studio, puede:

  • Cree contenedores Docker con modelos integrados y dependencias directamente dentro de SageMaker Studio
  • Elimine la necesidad de procesos de compilación externos de Docker para simplificar la creación de imágenes.
  • Ejecute contenedores localmente para validar la funcionalidad antes de implementar modelos en producción.
  • Reutilice contenedores locales al implementar en SageMaker para capacitación y alojamiento

Aunque algunas capacidades avanzadas de Docker, como redes personalizadas y de contenedores múltiples, no son compatibles al momento de escribir este artículo, la funcionalidad principal de compilación y ejecución está disponible para acelerar el desarrollo de contenedores para flujos de trabajo de traer su propio contenedor (BYOC).

Requisitos previos

Para utilizar el modo local en las aplicaciones de SageMaker Studio, debe completar los siguientes requisitos previos:

  • Para extraer imágenes de Registro de contenedores elásticos de Amazon (Amazon ECR), la cuenta que aloja la imagen de ECR debe proporcionar permiso de acceso a la cuenta del usuario. Gestión de identidades y acceso (IAM) función. La función del dominio también debe permitir el acceso a Amazon ECR.
  • Para habilitar el modo local y las capacidades de Docker, debe configurar el EnableDockerAccess parámetro en verdadero para el dominio DockerSettings usando el Interfaz de línea de comandos de AWS (AWS CLI). Esto permite a los usuarios del dominio utilizar el modo local y las funciones de Docker. De forma predeterminada, el modo local y Docker están deshabilitados en SageMaker Studio. Será necesario reiniciar todas las aplicaciones existentes de SageMaker Studio para que la actualización del servicio Docker surta efecto. El siguiente es un ejemplo de comando de AWS CLI para actualizar un dominio de SageMaker Studio:
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

Ejecute archivos Python en espacios de SageMaker Studio usando el modo local

SageMaker Studio JupyterLab y Code Editor (basado en Código-OSS, Código de Visual Studio – Código abierto), amplía SageMaker Studio para que pueda escribir, probar, depurar y ejecutar análisis y código de aprendizaje automático utilizando el popular IDE ligero. Para obtener más detalles sobre cómo comenzar con los IDE de SageMaker Studio, consulte Aumente la productividad en Amazon SageMaker Studio: presentamos JupyterLab Spaces y herramientas de IA generativa y Nuevo: Editor de código, basado en Code-OSS VS Code Open Source ahora disponible en Amazon SageMaker Studio. Complete los siguientes pasos:

Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Ejecute archivos Python en espacios de SageMaker Studio usando el modo local

  • Crea una nueva terminal.  Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Ejecute archivos Python en espacios de SageMaker Studio usando el modo local
  • Instale Docker CLI y el complemento Docker Compose siguiendo las instrucciones a continuación Repositorio GitHub. Si los comandos encadenados fallan, ejecútelos uno por uno.

Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Debe actualizar el SDK de SageMaker a la última versión.

  • Ejecutar pip install sagemaker -Uq en la terminal

Solo para el Editor de código, debe configurar el entorno Python para que se ejecute en la terminal actual.

  • En el Editor de código, en el El menú Archivoescoger Preferencias y Ajustes.

Ejecute archivos Python en espacios de SageMaker Studio usando el modo local

  • Buscar y seleccionar Terminal: ejecutar en el directorio de archivos.

Ejecute archivos Python en espacios de SageMaker Studio usando el modo local

  • En Code Editor o JupyterLab, abra el scikit_learn_script_mode_local_training_and_serving carpeta y ejecute el scikit_learn_script_mode_local_training_and_serving.py archivo.

Puede ejecutar el script eligiendo Ejecutar en Code Editor o usando la CLI en una terminal JupyterLab. Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Podrás ver cómo se entrena el modelo localmente. Luego, implementa el modelo en un punto final de SageMaker localmente y calcula el error cuadrático medio (RMSE). Ejecute archivos Python en espacios de SageMaker Studio usando el modo local Ejecute archivos Python en espacios de SageMaker Studio usando el modo local

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

También puede utilizar un cuaderno en SageMaker Studio Classic para ejecutar un trabajo de capacitación a pequeña escala en CIFAR10 utilizando el modo local, implemente el modelo localmente y realice inferencias.

Configura tu cuaderno

Para configurar el portátil, complete los siguientes pasos:

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Abra la pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Imagen, escoger PyTorch 2.1.0 Python 3.10 CPU Optimized.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local Confirme que su computadora portátil muestre la instancia y la selección de kernel correctas. Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Abra una terminal eligiendo Iniciar Terminal en la imagen actual de SageMaker.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Instale Docker CLI y el complemento Docker Compose siguiendo las instrucciones a continuación Repositorio GitHub.

Debido a que está utilizando Docker de SageMaker Studio Classic, elimine sudo cuando ejecute comandos porque la terminal ya se ejecuta bajo superusuario. Para SageMaker Studio Classic, los comandos de instalación dependen del sistema operativo de la imagen de la aplicación SageMaker Studio. Por ejemplo, las imágenes de marco basadas en DLC están basadas en Ubuntu, en las que funcionarían las siguientes instrucciones. Sin embargo, para una imagen basada en Debian como DataScience Images, debe seguir las instrucciones a continuación Repositorio GitHub. Si los comandos encadenados fallan, ejecútelos uno por uno. Debería ver la versión de Docker mostrada. Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Deje la ventana de la terminal abierta, regrese al cuaderno y comience a ejecutarlo celda por celda.

Asegúrese de ejecutar la celda con pip install -U sagemaker entonces estás usando la última versión del SDK de SageMaker Python.

Formación local

Cuando comience a ejecutar el trabajo de capacitación local de SageMaker, verá las siguientes líneas de registro:

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

Esto indica que la capacitación se estaba ejecutando localmente usando Docker.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

Sea paciente mientras el pytorch-training:2.1-cpu-py310 Se extrae la imagen de Docker. Debido a su gran tamaño (5.2 GB), podría tardar unos minutos.

Las imágenes de Docker se almacenarán en el volumen raíz de la instancia de la aplicación SageMaker Studio, al que no pueden acceder los usuarios finales. La única forma de acceder e interactuar con imágenes de Docker es a través de las operaciones expuestas de la API de Docker.

Desde el punto de vista de la confidencialidad del usuario, la plataforma SageMaker Studio nunca accede ni almacena imágenes específicas del usuario.

Cuando finalice la capacitación, podrá ver las siguientes líneas de registro de éxito:

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

inferencia local

Complete los siguientes pasos:

  • Implemente el punto final de SageMaker utilizando el modo local de SageMaker.

Sea paciente mientras el pytorch-inference:2.1-cpu-py310 Se extrae la imagen de Docker. Debido a su gran tamaño (4.32 GB), podría tardar unos minutos.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Invoque el punto final de SageMaker implementado localmente utilizando las imágenes de prueba.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

Podrás ver las clases previstas: rana, barco, coche y avión:

Predicted:  frog ship  car plane

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Debido a que el punto final de SageMaker Local aún está activo, regrese a la ventana de terminal abierta y enumere los contenedores en ejecución:

docker ps

Podrás ver el funcionamiento. pytorch-inference:2.1-cpu-py310 contenedor que respalda el punto final de SageMaker.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Para cerrar el punto final local de SageMaker y detener el contenedor en ejecución, ya que solo puede ejecutar un punto final local a la vez, ejecute el código de limpieza.

Simule entrenamiento e inferencia en SageMaker Studio Classic usando el modo local

  • Para asegurarse de que el contenedor Docker esté inactivo, puede navegar hasta la ventana de terminal abierta, ejecutar docker ps y asegurarse de que no haya contenedores en ejecución.
  • Si ve un contenedor ejecutándose, ejecute docker stop <CONTAINER_ID> para detenerlo

Consejos para usar el modo local de SageMaker

Si está utilizando SageMaker por primera vez, consulte Entrenar modelos de aprendizaje automático. Para obtener más información sobre cómo implementar modelos para inferencia con SageMaker, consulte Implementar modelos para inferencia.

Tenga en cuenta las siguientes recomendaciones:

  • Imprima archivos y carpetas de entrada y salida para comprender la carga de conjuntos de datos y modelos.
  • Utilice 1 o 2 épocas y conjuntos de datos pequeños para realizar pruebas rápidas
  • Preinstale dependencias en un Dockerfile para optimizar la configuración del entorno
  • Aislar el código de serialización en los puntos finales para la depuración

Configurar la instalación de Docker como una configuración del ciclo de vida

Puede definir el proceso de instalación de Docker como un script de configuración del ciclo de vida (LCC) para simplificar la configuración cada vez que se inicia un nuevo espacio de SageMaker Studio. Las LCC son secuencias de comandos que SageMaker ejecuta durante eventos como la creación de espacios. Referirse a JupyterLab, Editor de códigoo SageMaker Estudio Clásico Configuración de LCC (usando instalación acoplable cli como referencia) para obtener más información.

Configurar la instalación de Docker como una configuración del ciclo de vida

Configurar la instalación de Docker como una configuración del ciclo de vida

Cree y pruebe imágenes Docker personalizadas en espacios de SageMaker Studio

En este paso, instala Docker dentro del espacio de la aplicación JupyterLab (o Code Editor) y usa Docker para crear, probar y publicar imágenes de Docker personalizadas con espacios de SageMaker Studio. Los espacios se utilizan para gestionar las necesidades de recursos y almacenamiento de algunas aplicaciones de SageMaker Studio. Cada espacio tiene una relación 1:1 con una instancia de una aplicación. Cada aplicación compatible que se crea obtiene su propio espacio. Para obtener más información sobre los espacios de SageMaker, consulte Aumente la productividad en Amazon SageMaker Studio: presentamos JupyterLab Spaces y herramientas de IA generativa. Asegúrese de aprovisionar un nuevo espacio con al menos 30 GB de almacenamiento para permitir almacenamiento suficiente para imágenes y artefactos de Docker.

Instalar Docker dentro de un espacio

Para instalar Docker CLI y el complemento Docker Compose dentro de un espacio de JupyterLab, ejecute los siguientes comandos Repositorio GitHub. Estudio SageMaker solo es compatible con la versión 20.10.X de Docker.

Construir imágenes de Docker

Para confirmar que Docker está instalado y funcionando dentro de su espacio de JupyterLab, ejecute el siguiente código:

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

Para crear una imagen de Docker personalizada dentro de un espacio de JupyterLab (o Editor de código), complete los siguientes pasos:

  • Cree un Dockerfile vacío:

touch Dockerfile

  • Edite el Dockerfile con los siguientes comandos, que crean una imagen de servidor web de matraz simple a partir del python base:3.10.13-imagen de ojo de buey alojada en Centro acoplable:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

El siguiente código muestra el contenido de un archivo de aplicación de matraz de ejemplo. app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

Además, puede actualizar los comandos de Dockerfile de referencia para incluir paquetes y artefactos de su elección.

  • Cree una imagen de Docker utilizando el Dockerfile de referencia:

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

Incluyendo --network sagemaker en el comando de compilación de Docker; de lo contrario, la compilación fallará. Los contenedores no se pueden ejecutar en el puente predeterminado de Docker ni en redes Docker personalizadas. Los contenedores se ejecutan en la misma red que el contenedor de la aplicación SageMaker Studio. Los usuarios sólo pueden utilizar sagemaker para el nombre de la red.

  • Cuando se complete la compilación, valide si la imagen existe. Vuelva a etiquetar la compilación como una imagen ECR y presione. Si tiene problemas de permisos, ejecute el comando aws ecr get-login-password… e intente volver a ejecutar Docker push/pull:
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

Probar imágenes de Docker

Tener Docker instalado dentro de un espacio de SageMaker Studio de JupyterLab (o editor de código) le permite probar imágenes de Docker prediseñadas o personalizadas como contenedores (o aplicaciones en contenedores). En esta sección, utilizamos el comando docker run para aprovisionar contenedores Docker dentro de un espacio de SageMaker Studio para probar cargas de trabajo en contenedores como servicios web REST y scripts de Python. Complete los siguientes pasos:

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • Si la imagen de prueba no existe, ejecute Docker Pull para colocar la imagen en su máquina local:

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • Si encuentra problemas de autenticación, ejecute los siguientes comandos:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • Cree un contenedor para probar su carga de trabajo:

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

Esto activa una nueva instancia de contenedor y ejecuta la aplicación definida usando el PUNTO DE ENTRADA de Docker:

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • Para probar si su punto final web está activo, navegue hasta la URL https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

Debería ver una respuesta JSON similar a la siguiente captura de pantalla.

Configurar la instalación de Docker como una configuración del ciclo de vida

Limpiar

Para evitar incurrir en cargos innecesarios, elimine los recursos que creó mientras ejecutaba los ejemplos de esta publicación:

  1. En su dominio de SageMaker Studio, elija Estudio Clásico en el panel de navegación, luego elija Detener.
  2. En su dominio de SageMaker Studio, elija JupyterLab or Editor de código en el panel de navegación, elija su aplicación y luego elija Detener.

Conclusión

El modo local de SageMaker Studio y la compatibilidad con Docker permiten a los desarrolladores crear, probar e iterar implementaciones de aprendizaje automático más rápido sin salir de su espacio de trabajo. Al proporcionar acceso instantáneo a entornos de prueba y resultados, estas capacidades optimizan los flujos de trabajo y mejoran la productividad. Pruebe el modelo local de SageMaker Studio y la compatibilidad con Docker utilizando nuestro característica rápida a bordo, que le permite crear un nuevo dominio para usuarios individuales en cuestión de minutos. ¡Comparte tus pensamientos en la sección de comentarios!


Acerca de los autores

Shweta SinghShweta Singh es gerente senior de productos en el equipo de la plataforma de aprendizaje automático (ML) de Amazon SageMaker en AWS y lidera el SDK de Python de SageMaker. Ha trabajado en varios puestos de productos en Amazon durante más de 5 años. Tiene una Licenciatura en Ingeniería Informática y una Maestría en Ciencias en Ingeniería Financiera, ambas de la Universidad de Nueva York.

Eitan SelaEitan Sela es un arquitecto de soluciones especializado en inteligencia artificial generativa y aprendizaje automático en AWS. Trabaja con clientes de AWS para brindarles orientación y asistencia técnica, ayudándolos a crear y operar soluciones de inteligencia artificial generativa y aprendizaje automático en AWS. En su tiempo libre, a Eitan le gusta correr y leer los últimos artículos sobre aprendizaje automático.

Pranav MurthyPranav Murthy es un arquitecto de soluciones especializado en IA/ML en AWS. Se centra en ayudar a los clientes a crear, entrenar, implementar y migrar cargas de trabajo de aprendizaje automático (ML) a SageMaker. Anteriormente trabajó en la industria de semiconductores desarrollando grandes modelos de visión por computadora (CV) y procesamiento de lenguaje natural (NLP) para mejorar los procesos de semiconductores utilizando técnicas de aprendizaje automático de última generación. En su tiempo libre le gusta jugar al ajedrez y viajar. Puedes encontrar Pranav en Etiqueta LinkedIn.

Mufaddal RohawalaMufaddal Rohawala es ingeniero de software en AWS. Trabaja en la biblioteca SageMaker Python SDK para Amazon SageMaker. En su tiempo libre le gustan los viajes, las actividades al aire libre y es aficionado al fútbol.

punto_img

café vc

café vc

Información más reciente

punto_img