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.
Si une autre version vous intéresse, n'hésitez pas à nous envoyer un e-mail à qlab@qarnot.com.
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.
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 :
input
rain_pytorch.py
: script python qui entraîne un réseau de neurones sur l'ensemble de données en une seule fois. Peut être trouvé ici.weatherAUS.csv
: jeu de données sur les conditions météorologiques de plusieurs jours dans une région australienne. Peut être trouvé ici.
pytorch.py
: script python pour lancer la tâche sur Qarnot (ci-dessous).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')
À 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.
Et voilà ! Si vous avez des questions, veuillez contacter qlab@qarnot.com et nous vous aiderons avec plaisir !