Machine Learning e IA en AWS: guía completa
Descubre los servicios de AWS para el desarrollo y el despliegue de soluciones de Inteligencia Artificial.
I
InSkillCoach
· min
Machine Learning e IA en AWS: guía completa
Descubre los servicios de AWS para el desarrollo y el despliegue de soluciones de Inteligencia Artificial.
1. Amazon SageMaker
Configuración del entorno
# Ejemplo de configuración de SageMaker
import boto3
import sagemaker
def setup_sagemaker():
sagemaker_session = sagemaker.Session()
# Creación de la instancia de notebook
notebook_instance = sagemaker_session.create_notebook_instance(
NotebookInstanceName='MonNotebook',
InstanceType='ml.t3.medium',
RoleArn='arn:aws:iam::account:role/AmazonSageMaker-ExecutionRole',
SubnetId='subnet-xxxxx',
SecurityGroupIds=['sg-xxxxx']
)
return notebook_instance['NotebookInstanceArn']
Entrenamiento de un modelo
# Ejemplo de entrenamiento de un modelo con SageMaker
def train_model():
sagemaker_session = sagemaker.Session()
# Configuración del entrenamiento
estimator = sagemaker.estimator.Estimator(
image_uri='763104351884.dkr.ecr.region.amazonaws.com/pytorch-training:1.8.1-cpu-py3',
role='arn:aws:iam::account:role/AmazonSageMaker-ExecutionRole',
instance_count=1,
instance_type='ml.c5.xlarge',
volume_size=30,
output_path='s3://mon-bucket/output/',
sagemaker_session=sagemaker_session
)
# Inicio del entrenamiento
estimator.fit({
'train': 's3://mon-bucket/data/train/',
'validation': 's3://mon-bucket/data/validation/'
})
return estimator.latest_training_job.name
2. Amazon Rekognition
Análisis de imágenes
# Ejemplo de análisis de imágenes con Rekognition
def analyze_image():
rekognition = boto3.client('rekognition')
# Análisis de una imagen
response = rekognition.detect_labels(
Image={
'S3Object': {
'Bucket': 'mon-bucket',
'Name': 'mon-image.jpg'
}
}
)
# Detección de rostros
faces = rekognition.detect_faces(
Image={
'S3Object': {
'Bucket': 'mon-bucket',
'Name': 'mon-image.jpg'
}
},
Attributes=['ALL']
)
return {
'labels': response['Labels'],
'faces': faces['FaceDetails']
}
Detección de texto
# Ejemplo de detección de texto con Rekognition
def detect_text():
rekognition = boto3.client('rekognition')
# Detección de texto en una imagen
response = rekognition.detect_text(
Image={
'S3Object': {
'Bucket': 'mon-bucket',
'Name': 'mon-document.jpg'
}
}
)
return response['TextDetections']
3. Amazon Comprehend
Análisis de texto
# Ejemplo de análisis de texto con Comprehend
def analyze_text():
comprehend = boto3.client('comprehend')
# Análisis de sentimiento
sentiment = comprehend.detect_sentiment(
Text='Ce produit est excellent !',
LanguageCode='fr'
)
# Detección de entidades
entities = comprehend.detect_entities(
Text='Amazon Web Services est une filiale d\'Amazon.',
LanguageCode='fr'
)
return {
'sentiment': sentiment['Sentiment'],
'entities': entities['Entities']
}
Clasificación de documentos
# Ejemplo de clasificación con Comprehend
def classify_document():
comprehend = boto3.client('comprehend')
# Clasificación de un documento
response = comprehend.classify_document(
Text='Ceci est un document technique concernant l\'intelligence artificielle.',
EndpointArn='arn:aws:comprehend:region:account:document-classifier/mon-classifier'
)
return response['Classes']
4. Amazon Polly
Síntesis de voz
# Ejemplo de síntesis de voz con Polly
def synthesize_speech():
polly = boto3.client('polly')
# Síntesis de texto a voz
response = polly.synthesize_speech(
Text='Bonjour, je suis un assistant virtuel.',
OutputFormat='mp3',
VoiceId='Lea',
LanguageCode='fr-FR'
)
# Guardado del archivo de audio
with open('output.mp3', 'wb') as file:
file.write(response['AudioStream'].read())
return 'output.mp3'
Gestión de léxicos
# Ejemplo de gestión de léxicos con Polly
def manage_lexicon():
polly = boto3.client('polly')
# Creación de un léxico personalizado
lexicon = {
'lexiconName': 'MonLexique',
'content': json.dumps({
'lexicon': [
{
'grapheme': 'AWS',
'phoneme': 'A W S'
}
]
})
}
response = polly.put_lexicon(**lexicon)
return response['Lexicon']['Name']
5. Amazon Personalize
Configuración del servicio
# Ejemplo de configuración de Personalize
def setup_personalize():
personalize = boto3.client('personalize')
# Creación de un dataset group
dataset_group = personalize.create_dataset_group(
name='MonDatasetGroup',
roleArn='arn:aws:iam::account:role/service-role/AmazonPersonalize-ExecutionRole'
)
# Creación de un esquema
schema = personalize.create_schema(
name='MonSchema',
schema='{"type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [{"name": "USER_ID", "type": "string"}, {"name": "ITEM_ID", "type": "string"}, {"name": "EVENT_TYPE", "type": "string"}, {"name": "TIMESTAMP", "type": "long"}]}'
)
return {
'dataset_group_arn': dataset_group['datasetGroupArn'],
'schema_arn': schema['schemaArn']
}
Creación de recomendaciones
# Ejemplo de creación de recomendaciones
def create_recommendations():
personalize = boto3.client('personalize')
# Creación de una solución
solution = personalize.create_solution(
name='MonSolution',
datasetGroupArn='arn:aws:personalize:region:account:dataset-group/MonDatasetGroup',
recipeArn='arn:aws:personalize:::recipe/aws-user-personalization'
)
# Creación de una campaña
campaign = personalize.create_campaign(
name='MonCampaign',
solutionVersionArn=solution['solutionArn'],
minProvisionedTPS=1
)
return {
'solution_arn': solution['solutionArn'],
'campaign_arn': campaign['campaignArn']
}
Conclusión
Puntos clave que debes recordar:
- Desarrollar modelos de ML con SageMaker
- Analizar imágenes con Rekognition
- Procesar texto con Comprehend
- Generar voz con Polly
- Crear recomendaciones con Personalize
Recomendaciones:
- Elegir los servicios adecuados según las necesidades
- Optimizar los costes de procesamiento
- Implantar una monitorización eficaz
- Proteger los datos
- Seguir las buenas prácticas de AWS
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
684
342
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión