Cet article est co-écrit avec Ming (Melvin) Qin, David Bericat et Brad Genereaux de NVIDIA.
Les chercheurs et développeurs en IA en imagerie médicale ont besoin d’un cadre d’entreprise évolutif pour créer, déployer et intégrer leurs applications d’IA. AWS et NVIDIA se sont réunis pour faire de cette vision une réalité. AWS, NVIDIA et d'autres partenaires créez des applications et des solutions pour rendre les soins de santé plus accessibles, abordables et efficaces en accélérant la connectivité cloud de l'imagerie d'entreprise. Déploiement MONAI est l'un des modules clés de MONA (Medical Open Network for Artificial Intelligence) développé par un consortium de leaders universitaires et industriels, dont NVIDIA. AWS HealthImaging (AHI) est un magasin d'imagerie médicale éligible HIPAA, hautement évolutif, performant et rentable. Nous avons développé un connecteur MONAI Deploy vers AHI pour intégrer des applications d'IA d'imagerie médicale avec des latences de récupération d'images inférieures à la seconde à grande échelle, alimentées par des API cloud natives. Les modèles et applications MONAI AI peuvent être hébergés sur Amazon Sage Maker, qui est un service entièrement géré permettant de déployer des modèles d'apprentissage automatique (ML) à grande échelle. SageMaker s'occupe de la configuration et de la gestion des instances d'inférence et fournit des métriques et des journaux intégrés pour les points de terminaison que vous pouvez utiliser pour surveiller et recevoir des alertes. Il offre également une variété de Instances GPU NVIDIA pour l'inférence ML, ainsi que plusieurs options de déploiement de modèles avec mise à l'échelle automatique, notamment inférence en temps réel, inférence sans serveur, inférence asynchroneet une transformation par lots.
Dans cet article, nous montrons comment déployer un package d'application MONAI (MAP) avec le connecteur vers AWS HealthImaging, à l'aide d'un point de terminaison multimodèle SageMaker pour l'inférence en temps réel et l'inférence asynchrone. Ces deux options couvrent la majorité des cas d’utilisation du pipeline d’inférence d’imagerie médicale en temps quasi réel.
Vue d'ensemble de la solution
Le diagramme suivant illustre l'architecture de la solution.
Pré-requis
Effectuez les étapes préalables suivantes :
- Utilisez un compte AWS avec l'une des régions suivantes, où AWS HealthImaging est disponible : Virginie du Nord (
us-east-1
), Orégon (us-west-2
), Irlande (eu-west-1
) et Sydney (ap-southeast-2
). - Créer un Amazon SageMakerStudio domaine et profil utilisateur comprenant Gestion des identités et des accès AWS (IAM) pour accéder à AWS HealthImaging.
- Activer l'extension JupyterLab v3 et installez l'extension Imjoy-jupyter si vous souhaitez visualiser des images médicales sur le bloc-notes SageMaker de manière interactive en utilisant ilkwidgets.
Connecteur MAP vers AWS HealthImaging
AWS HealthImaging importe des fichiers DICOM P10 et les convertit en ImageSets, qui sont une représentation optimisée d'une série DICOM. AHI fournit un accès API aux métadonnées ImageSet et aux ImageFrames. Les métadonnées contiennent tous les attributs DICOM dans un document JSON. Les ImageFrames sont renvoyés codés dans le JPEG2000 haut débit (HTJ2K) format sans perte, qui peut être décodé extrêmement rapidement. Les ImageSets peuvent être récupérés en utilisant le Interface de ligne de commande AWS (AWS CLI) ou le SDK AWS.
MONAI est un cadre d'IA en imagerie médicale qui transforme les avancées de la recherche et les applications de l'IA en impact clinique. MONAI Deploy est le pipeline de traitement qui permet le flux de travail de bout en bout, y compris l'empaquetage, les tests, le déploiement et l'exécution d'applications d'IA d'imagerie médicale en production clinique. Il comprend le MONA Déployer le SDK d'application, MONAI Déployer Express, Gestionnaire de flux de travailet une Passerelle informatique. Le SDK MONAI Deploy App fournit des algorithmes prêts à l'emploi et un cadre pour accélérer la création d'applications d'IA d'imagerie médicale, ainsi que des outils utilitaires pour regrouper l'application dans un conteneur MAP. Les fonctionnalités basées sur les normes intégrées dans le SDK de l'application permettent au MAP de s'intégrer facilement aux réseaux informatiques de santé, ce qui nécessite l'utilisation de normes telles que DICOM, HL7 et FHIR, ainsi que dans les centres de données et les environnements cloud. Les MAP peuvent utiliser des opérateurs prédéfinis et personnalisés pour le chargement d'images DICOM, la sélection de séries, l'inférence de modèle et le post-traitement.
Nous avons développé un module Python à l'aide du SDK Python AWS HealthImaging Boto3. Vous pouvez l'installer via pip et utiliser la fonction d'assistance pour récupérer les instances DICOM Service-Object Pair (SOP) comme suit :
!pip install -q AHItoDICOMInterface
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
helper = AHItoDICOM()
instances = helper.DICOMizeImageSet(datastore_id=datastoreId , image_set_id=next(iter(imageSetIds)))
Les instances SOP de sortie peuvent être visualisées à l'aide de la visionneuse d'images médicales 3D interactive itkwidgets ci-dessous cahierL’ AHIàDICOM la classe profite de plusieurs processus pour récupérer les images de pixels d'AWS HealthImaging en parallèle, et décoder le Blobs binaires HTJ2K utilisant l' Bibliothèque Python OpenJPEG. Les ImageSetIds proviennent des fichiers de sortie d'une tâche d'importation AWS HealthImaging donnée. Étant donné le DatastoreId et l'import JobId, vous pouvez récupérer l'ImageSetId, qui est équivalent à l'UID de l'instance de la série DICOM, comme suit :
imageSetIds = {}
try: response = s3.head_object(Bucket=OutputBucketName, Key=f"output/{res_createstore['datastoreId']}-DicomImport-{res_startimportjob['jobId']}/job-output-manifest.json") if response['ResponseMetadata']['HTTPStatusCode'] == 200: data = s3.get_object(Bucket=OutputBucketName, Key=f"output/{res_createstore['datastoreId']}-DicomImport-{res_startimportjob['jobId']}/SUCCESS/success.ndjson") contents = data['Body'].read().decode("utf-8") for l in contents.splitlines(): isid = json.loads(l)['importResponse']['imageSetId'] if isid in imageSetIds: imageSetIds[isid]+=1 else: imageSetIds[isid]=1
except ClientError: pass
Avec ImageSetId, vous pouvez récupérer les métadonnées d'en-tête DICOM et les pixels de l'image séparément à l'aide des fonctions natives de l'API AWS HealthImaging. Le Agrégats exportateurs DICOM les en-têtes DICOM et les pixels de l'image dans le Pydicom ensemble de données, qui peut être traité par le Opérateur de chargeur de données MAP DICOM. À l'aide de la fonction DICOMizeImageSet(), nous avons créé un connecteur pour charger les données d'image d'AWS HealthImaging, basé sur le MAP Opérateur de chargeur de données DICOM:
class AHIDataLoaderOperator(Operator): def __init__(self, ahi_client, must_load: bool = True, *args, **kwargs): self.ahi_client = ahi_client … def _load_data(self, input_obj: string): study_dict = {} series_dict = {} sop_instances = self.ahi_client.DICOMizeImageSet(input_obj['datastoreId'], input_obj['imageSetId'])
Dans le code précédent, ahi_client
est une instance de la classe d'exportateur AHItoDICOM DICOM, avec des fonctions de récupération de données illustrées. Nous avons inclus ce nouvel opérateur de chargeur de données dans un Application d'IA de segmentation de la rate 3D créée par le SDK de l'application MONAI Deploy. Vous pouvez d'abord découvrir comment créer et exécuter cette application sur une instance de notebook locale, puis déployez cette application MAP dans les points de terminaison d'inférence gérés par SageMaker.
Inférence asynchrone SageMaker
Un SageMaker inférence asynchrone Le point de terminaison est utilisé pour les requêtes avec des charges utiles importantes (jusqu'à 1 Go), des temps de traitement longs (jusqu'à 15 minutes) et des exigences de latence en temps quasi réel. Lorsqu’il n’y a aucune demande à traiter, cette option de déploiement peut réduire le nombre d’instances à zéro pour réaliser des économies, ce qui est idéal pour les charges de travail d’inférence ML d’imagerie médicale. Suivez les étapes dans le exemple de cahier pour créer et appeler le point de terminaison d'inférence asynchrone SageMaker. À créer un point de terminaison d'inférence asynchrone, vous devrez d'abord créer un modèle SageMaker et une configuration de point de terminaison. Pour créer un modèle SageMaker, vous devrez charger un package model.tar.gz avec un structure de répertoire définie dans un conteneur Docker. Le package model.tar.gz comprend un fichier model.ts de segmentation de la rate pré-entraîné et un fichier inference.py personnalisé. Nous avons utilisé un conteneur prédéfini avec les versions du framework Python 3.8 et PyTorch 1.12.1 pour charger le modèle et exécuter des prédictions.
Dans le personnalisé inférence.py fichier, nous instancions une classe d'assistance AHItoDICOM à partir de AHItoDICOMInterface et l'utilisons pour créer une instance MAP dans le model_fn()
fonction, et nous exécutons l'application MAP sur chaque demande d'inférence dans le predict_fn()
fonction:
from app import AISpleenSegApp
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
helper = AHItoDICOM()
def model_fn(model_dir, context): … monai_app_instance = AISpleenSegApp(helper, do_run=False,path="/home/model-server") def predict_fn(input_data, model): with open('/home/model-server/inputImageSets.json', 'w') as f: f.write(json.dumps(input_data)) output_folder = "/home/model-server/output" if not os.path.exists(output_folder): os.makedirs(output_folder) model.run(input='/home/model-server/inputImageSets.json', output=output_folder, workdir='/home/model-server', model='/opt/ml/model/model.ts')
À appeler le point de terminaison asynchrone, vous devrez télécharger la charge utile d'entrée de la requête sur Service de stockage simple Amazon (Amazon S3), qui est un fichier JSON spécifiant l'ID de banque de données AWS HealthImaging et l'ID ImageSet sur lesquels exécuter l'inférence :
sess = sagemaker.Session()
InputLocation = sess.upload_data('inputImageSets.json', bucket=sess.default_bucket(), key_prefix=prefix, extra_args={"ContentType": "application/json"})
response = runtime_sm_client.invoke_endpoint_async(EndpointName=endpoint_name, InputLocation=InputLocation, ContentType="application/json", Accept="application/json")
output_location = response["OutputLocation"]
La sortie peut également être trouvée dans Amazon S3.
Inférence multimodèle en temps réel SageMaker
SageMaker inférence en temps réel les points de terminaison répondent aux exigences d’interactivité et de faible latence. Cette option peut héberger plusieurs modèles dans un conteneur derrière un point de terminaison, ce qui constitue une solution évolutive et rentable pour déployer plusieurs modèles de ML. UN Le point de terminaison multimodèle SageMaker utilise le serveur d'inférence NVIDIA Triton avec GPU pour exécuter plusieurs inférences de modèles d’apprentissage profond.
Dans cette section, nous expliquons comment créer et appeler un point de terminaison multimodèle adapter votre propre conteneur d'inférence dans ce qui suit exemple de cahier. Différents modèles peuvent être servis dans un conteneur partagé sur la même flotte de ressources. Les points de terminaison multimodèles réduisent la surcharge de déploiement et font évoluer les inférences de modèles en fonction des modèles de trafic vers le point de terminaison. Nous avons utilisé Outils de développement AWS comme Amazon CodeCommit, Création de code Amazonet une Amazon CodePipeline à construire le conteneur personnalisé pour l'inférence de modèle SageMaker. Nous avons préparé un model_handler.py pour apporter votre propre conteneur à la place du fichier inference.py dans l'exemple précédent, et implémenté les fonctions initialize(), preprocess() et inference() :
from app import AISpleenSegApp
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
class ModelHandler(object): def __init__(self): self.initialized = False self.shapes = None def initialize(self, context): self.initialized = True properties = context.system_properties model_dir = properties.get("model_dir") gpu_id = properties.get("gpu_id") helper = AHItoDICOM() self.monai_app_instance = AISpleenSegApp(helper, do_run=False, path="/home/model-server/") def preprocess(self, request): inputStr = request[0].get("body").decode('UTF8') datastoreId = json.loads(inputStr)['inputs'][0]['datastoreId'] imageSetId = json.loads(inputStr)['inputs'][0]['imageSetId'] with open('/tmp/inputImageSets.json', 'w') as f: f.write(json.dumps({"datastoreId": datastoreId, "imageSetId": imageSetId})) return '/tmp/inputImageSets.json' def inference(self, model_input): self.monai_app_instance.run(input=model_input, output="/home/model-server/output/", workdir="/home/model-server/", model=os.environ["model_dir"]+"/model.ts")
Une fois le conteneur construit et poussé vers Registre des conteneurs élastiques Amazon (Amazon ECR), vous pouvez créer un modèle SageMaker avec celui-ci, ainsi que différents packages de modèles (fichiers tar.gz) dans un chemin Amazon S3 donné :
model_name = "DEMO-MONAIDeployModel" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
model_url = "s3://{}/{}/".format(bucket, prefix)
container = "{}.dkr.ecr.{}.amazonaws.com/{}:dev".format( account_id, region, prefix )
container = {"Image": container, "ModelDataUrl": model_url, "Mode": "MultiModel"}
create_model_response = sm_client.create_model(ModelName=model_name, ExecutionRoleArn=role, PrimaryContainer=container)
Il est à noter que le model_url
ici spécifie uniquement le chemin d'accès à un dossier de fichiers tar.gz et vous spécifiez le package de modèle à utiliser pour l'inférence lorsque vous appelez le point de terminaison, comme indiqué dans le code suivant :
Payload = {"inputs": [ {"datastoreId": datastoreId, "imageSetId": next(iter(imageSetIds))} ]}
response = runtime_sm_client.invoke_endpoint(EndpointName=endpoint_name, ContentType="application/json", Accept="application/json", TargetModel="model.tar.gz", Body=json.dumps(Payload))
Nous pouvons ajouter plus de modèles au point de terminaison d'inférence multimodèle existant sans avoir à mettre à jour le point de terminaison ou à en créer un nouveau.
Nettoyer
N'oubliez pas de remplir le Supprimer les ressources d'hébergement étape dans le laboratoire-3 et les laboratoire-4 notebooks pour supprimer les points de terminaison d’inférence SageMaker. Vous devez également désactiver l'instance de bloc-notes SageMaker pour réduire les coûts. Enfin, vous pouvez soit appeler la fonction API AWS HealthImaging, soit utiliser la console AWS HealthImaging pour supprimer les ensembles d'images et le magasin de données créés précédemment :
for s in imageSetIds.keys(): medicalimaging.deleteImageSet(datastoreId, s)
medicalimaging.deleteDatastore(datastoreId)
Conclusion
Dans cet article, nous vous avons montré comment créer un connecteur MAP vers AWS HealthImaging, qui est réutilisable dans les applications créées avec le SDK MONAI Deploy App, pour s'intégrer et accélérer la récupération de données d'image depuis un magasin DICOM natif cloud vers les charges de travail d'IA d'imagerie médicale. . Le SDK MONAI Deploy peut être utilisé pour prendre en charge les opérations hospitalières. Nous avons également démontré deux options d'hébergement pour déployer des applications MAP AI sur SageMaker à grande échelle.
Parcourez les exemples de cahiers dans le GitHub référentiel pour en savoir plus sur la façon de déployer des applications MONAI sur SageMaker avec des images médicales stockées dans AWS HealthImaging. Pour savoir ce qu'AWS peut faire pour vous, contactez un Représentant AWS.
Pour des ressources supplémentaires, reportez-vous à ce qui suit :
À propos des auteurs
Ming (Melvin) Qin est un contributeur indépendant de l'équipe Healthcare de NVIDIA, axé sur le développement d'un cadre d'application et d'une plate-forme d'inférence d'IA pour intégrer l'IA aux flux de travail d'imagerie médicale. Avant de rejoindre NVIDIA en 2018 en tant que membre fondateur de Clara, Ming a passé 15 ans à développer des PACS de radiologie et des Workflow SaaS en tant qu'ingénieur/architecte principal chez Stentor Inc., acquis plus tard par Philips Healthcare pour former son Enterprise Imaging.
David Béricat est chef de produit pour la santé chez NVIDIA, où il dirige le groupe de travail Project MONAI Deploy pour amener l'IA de la recherche aux déploiements cliniques. Sa passion est d’accélérer l’innovation en santé à l’échelle mondiale, en la traduisant en un véritable impact clinique. Auparavant, David a travaillé chez Red Hat, mettant en œuvre les principes open source à l'intersection de l'IA, du cloud, de l'edge computing et de l'IoT. Ses moments les plus fiers incluent la randonnée jusqu'au camp de base de l'Everest et la pratique du football pendant plus de 20 ans.
Brad Généreaux est responsable mondial des alliances de soins de santé chez NVIDIA, où il est responsable des relations avec les développeurs, en mettant l'accent sur l'imagerie médicale afin d'accélérer l'intelligence artificielle et les solutions d'apprentissage profond, de visualisation, de virtualisation et d'analyse. Brad prône l'adoption et l'intégration omniprésentes de flux de travail transparents en matière de soins de santé et d'imagerie médicale dans la pratique clinique quotidienne, avec plus de 20 ans d'expérience dans l'informatique des soins de santé.
Gang fu est architecte de solutions de santé chez AWS. Il est titulaire d'un doctorat en sciences pharmaceutiques de l'Université du Mississippi et possède plus de 10 ans d'expérience en technologie et en recherche biomédicale. Il est passionné par la technologie et son impact sur les soins de santé.
J.P. Léger est un architecte de solutions senior prenant en charge les centres médicaux universitaires et les flux de travail d'imagerie médicale chez AWS. Il possède plus de 20 ans d'expertise en génie logiciel, en informatique de santé et en imagerie médicale, avec une vaste expérience dans l'architecture de systèmes pour la performance, l'évolutivité et la sécurité dans les déploiements distribués de gros volumes de données sur site, dans le cloud et hybrides avec l'analyse et l'IA. .
Chris Hafey est architecte de solutions principal chez Amazon Web Services. Il possède plus de 25 ans d'expérience dans le secteur de l'imagerie médicale et se spécialise dans la construction de systèmes évolutifs hautes performances. Il est le créateur du populaire projet open source CornerstoneJS, qui alimente le populaire visualiseur open source zéro empreinte OHIF. Il a contribué à la spécification DICOMweb et continue de travailler à l'amélioration de ses performances pour la visualisation sur le Web.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/build-a-medical-imaging-ai-inference-pipeline-with-monai-deploy-on-aws/
- :possède
- :est
- :ne pas
- :où
- $UP
- 1
- 10
- 100
- 12
- 15 ans
- 15%
- 20
- 20 ans
- 200
- 2018
- 25
- 3d
- 7
- 8
- a
- A Propos
- académique
- accélérer
- accélérer
- accès
- accessible
- Compte
- a acquise
- à travers
- ajouter
- Supplémentaire
- Adoption
- Avantage
- abordables
- AI
- Modèles AI
- Alertes
- algorithmes
- Tous
- Alliances
- permettre
- aussi
- Amazon
- Amazon Web Services
- an
- analytique
- et les
- api
- Accès API
- Apis
- appli
- Application
- applications
- architecture
- SONT
- artificiel
- intelligence artificielle
- AS
- At
- attributs
- Automatique
- disponibles
- AWS
- base
- basé
- BE
- before
- derrière
- biomédical
- corps
- tous les deux
- brad
- percées
- apporter
- construire
- Développement
- construit
- intégré
- by
- Appelez-nous
- Camp
- CAN
- les soins
- cas
- Canaux centraux
- Centres
- Clara
- classe
- Infos sur les
- le cloud
- code
- comment
- complet
- comprend
- informatique
- configuration
- Connectivité
- Console
- consortium
- contact
- Contenant
- contient
- contenu
- contexte
- continue
- contribué
- contributeur
- Prix
- les économies de coûts
- rentable
- Costs
- couverture
- co-écrit
- engendrent
- créée
- créateur
- sont adaptées
- données
- Centre de données
- David
- profond
- l'apprentissage en profondeur
- démontrer
- démontré
- déployer
- déployer
- déploiement
- déploiements
- dev
- développé
- Développeur
- mobiles
- développement
- différent
- distribué
- do
- Docker
- document
- down
- Plus tôt
- Edge
- informatique de pointe
- efficace
- non plus
- d'autre
- permet
- end-to-end
- Endpoint
- ENGINEERING
- Entreprise
- environnements
- Équivalent
- everest
- Chaque
- de tous les jours
- exemple
- Sauf
- existant
- d'experience
- nous a permis de concevoir
- explorez
- les
- Une vaste expérience
- extrêmement
- non
- RAPIDE
- Déposez votre dernière attestation
- Fichiers
- finalement
- Prénom
- FLOTTE
- Focus
- concentré
- suivre
- Abonnement
- suit
- numérique
- Pour
- formulaire
- le format
- trouvé
- fonder
- Framework
- De
- fu
- d’étiquettes électroniques entièrement
- fonction
- fonctionnalités
- fonctions
- GitHub
- donné
- Global
- À l'échelle mondiale
- GPU
- Réservation de groupe
- chapeau
- Vous avez
- ayant
- he
- têtes
- Santé
- la médecine
- ici
- haute performance
- très
- sa
- détient
- hôpital
- hôte
- organisé
- hébergement
- Comment
- How To
- HTML
- http
- HTTPS
- Hybride
- ID
- idéal
- Identite
- if
- illustre
- image
- satellite
- Imagerie
- Impact
- mis en œuvre
- la mise en œuvre
- importer
- importations
- l'amélioration de
- in
- Inc
- comprendre
- inclus
- inclut
- Y compris
- indépendant
- industrie
- Innovation
- contribution
- entrées
- installer
- instance
- plutôt ;
- intégrer
- l'intégration
- Intelligence
- Interactif
- intersection
- développement
- IOT
- Irlande
- IT
- SES
- Emploi
- joindre
- jpg
- json
- ACTIVITES
- Savoir
- gros
- Latence
- plus tard
- conduire
- dirigeants
- Conduit
- APPRENTISSAGE
- apprentissage
- Gamme
- charge
- chargeur
- chargement
- locales
- Location
- click
- machine learning
- Majorité
- a prendre une
- gérés
- manager
- les gérer
- Localisation
- Map
- médical
- Découvrez
- membre
- Métadonnées
- Métrique
- Minutes
- ML
- Mode
- modèle
- numériques jumeaux (digital twin models)
- Modules
- Des moments
- Surveiller
- PLUS
- Point de terminaison multimodèle
- plusieurs
- indigène
- Besoin
- réseau et
- réseaux
- Nouveauté
- aucune
- Aucun
- Nord
- cahier
- remarquable
- Nvidia
- objet
- of
- Offres Speciales
- on
- ONE
- uniquement
- ouvert
- réseau ouvert
- open source
- Opérations
- opérateur
- opérateurs
- optimisé
- Option
- Options
- or
- Oregon
- OS
- Autre
- sortie
- plus de
- propre
- paquet
- Forfaits
- l'emballage
- paire
- Parallèle
- passion
- passionné
- chemin
- motifs
- performant
- autorisation
- Pharmaceutique
- phd
- pipeline
- pixel
- plateforme
- Platon
- Intelligence des données Platon
- PlatonDonnées
- jouer
- plus
- Populaire
- Post
- alimenté
- pouvoirs
- pratique
- Prédictions
- préparé
- précédent
- précédemment
- Directeur
- principes
- processus
- Traité
- les process
- traitement
- Produit
- chef de produit
- Vidéo
- Projet
- propriétés
- fournit
- Poussé
- Python
- pytorch
- en temps réel
- Réalité
- recevoir
- Rouge
- Red Hat
- réduire
- reportez-vous
- région
- régions
- rapports
- représentation
- nécessaire
- demandes
- Exigences
- a besoin
- un article
- chercheurs
- Resources
- réponse
- responsables
- retourner
- réutilisable
- Courir
- pour le running
- s
- SaaS.
- sagemaker
- Inférence SageMaker
- même
- Épargnez
- Épargnes
- Évolutivité
- évolutive
- Escaliers intérieurs
- mise à l'échelle
- Sciences
- Sdk
- fluide
- Section
- sécurité
- segmentation
- sélection
- AUTO
- supérieur
- Série
- servi
- service
- Services
- Sets
- mise
- plusieurs
- formes
- commun
- devrait
- montré
- montré
- étapes
- tailles
- sans demander
- Football
- Logiciels
- génie logiciel
- sur mesure
- Solutions
- Identifier
- spécialise
- spécification
- dépensé
- Normes
- étapes
- Étapes
- storage
- Boutique
- stockée
- Chaîne
- tel
- Support
- Appuyer
- sydney
- Système
- prend
- équipe
- Technologie
- Essais
- que
- qui
- Le
- leur
- Les
- puis
- Là.
- Ces
- this
- Avec
- fois
- à
- ensemble
- les outils
- vers
- circulation
- Triton
- oui
- Essai
- TOUR
- deux
- omniprésent
- université
- Mises à jour
- utilisé
- d'utiliser
- Utilisateur
- Usages
- en utilisant
- utilitaire
- variété
- versions
- visualisation
- Virginie
- vision
- visualisation
- visualiser
- volumes
- W
- marcher
- souhaitez
- we
- web
- services Web
- Basé sur le Web
- WELL
- Quoi
- quand
- qui
- sera
- comprenant
- dans les
- sans
- activités principales
- travaillé
- workflow
- workflows
- de travail
- Groupe de travail
- années
- Vous n'avez
- Votre
- zéphyrnet
- zéro