Retour
ML & IA
Octobre 2021

PyTorch sur Qarnot Cloud

Dans ce cas d'utilisation, nous nous concentrons sur la bibliothèque PyTorch, un framework d'apprentissage automatique open source populaire dans le domaine opérationnel pour sa facilité de déploiement en production. Ce tutoriel rapide vous guidera à travers les étapes nécessaires pour entraîner un réseau de neurones PyTorch pour la prédiction météorologique sur Qarnot.

Version

Si une autre version vous intéresse, n'hésitez pas à nous envoyer un e-mail à qlab@qarnot.com.

Prérequis

Avant de commencer un calcul avec le SDK Python, quelques étapes sont nécessaires :

Remarque : en plus du SDK Python, Qarnot fournit des SDK C# et Node.js, ainsi qu'une ligne de commande.

Cas de test

Le cas présenté ici utilise le jeu de données météo extrait de Rain in Australia. Il contient 142 193 échantillons de données météorologiques quotidiennes provenant de plusieurs régions d'Australie. Ce problème est traité comme un cas de classification binaire, 0 indiquant qu'il ne pleut pas et 1 indiquant qu'il pleut.

Avant de continuer, vous devez configurer votre environnement de travail pour qu'il contienne les fichiers suivants :

Lancement du cas de test

Une fois que tout est configuré, utilisez le script suivant dans votre interpréteur ou compilateur préféré pour lancer le calcul sur Qarnot. Assurez-vous de copier votre jeton d'authentification dans le script (à la place de <<<MY_SECRET_TOKEN>>>) pour pouvoir lancer la tâche sur Qarnot.

Pour lancer ce script, copiez simplement le code suivant dans un script Python et exécutez python3 pytorch.py & dans votre terminal.

#!/usr/bin/env python

# Import the Qarnot SDK
import qarnot

# Connect to the Qarnot platform
conn = qarnot.Connection(client_token='<<<MY_SECRET_TOKEN>>>')

# Create a task
task = conn.create_task('Hello World - Pytorch', 'docker-batch', 1)

# Create a resource bucket and add input files
input_bucket = conn.create_bucket('pytorch-in')
input_bucket.sync_directory('input')

# Attach the bucket to the task
task.resources.append(input_bucket)

# Create a result bucket and attach it to the task
task.results = conn.create_bucket('pytorch-out')

# Give parameters regarding the Docker image to be used
task.constants['DOCKER_REPO'] = "qarnotlab/pytorch-gpu"
task.constants['DOCKER_TAG'] = "v1"
task.constants['DOCKER_CMD'] = "python3 rain_pytorch.py"

# Submit the task to the Api
task.run(output_dir='outputs')

Résultats

À tout moment, vous pouvez surveiller l'état de votre tâche.

Une fois l'entraînement terminé, l'état de la tâche devrait passer au vert. Vous pouvez alors consulter le bucket de sortie de la tâche, pytorch-out. Vous y trouverez divers fichiers comme un journal d'entraînement, les prédictions effectuées et le modèle entraîné réel.

Conclusion

Et voilà ! Si vous avez des questions, veuillez contacter qlab@qarnot.com et nous vous aiderons avec plaisir !

Retour

Nos articles