Voici quelques précisions qui vous aideront à faire le TP3 sur le serveur Hélios de Calcul Québec.
-
AJOUT - 25 mars 15:18: L'équipe de Calcul Québec vient de découvrir un bug de
pip
qui affecte l'installation de PyTorch ettorchvision
. Pour contourner le problème, vous devez utiliser l'option--no-deps
lorsque vous installeztorchvision
. Par exemple:pip install --no-index --no-deps -r requirements.txt
, oupip install --no-index --no-deps torchvision==0.5.0
. -
Le script
train.py
s'attend à trouver un dossier../data
, c'est à dire un dossierdata
dans le dossier parent à celui où on l'exécute. Par exemple:$ cd src $ ls ../data cifar-10-python.tar.gz hdf5 # les donnèes doivent être présentes. Voir étape suivante. $ python train.py # ajoutez les arguments appropriés
-
Pour utiliser CIFAR-10, assurez vous d'avoir le fichier
cifar-10-python.tar.gz
dans le dossierdata
. Si le fichier n'est pas téléchargé, vous verrez un message d'erreur, dans lequel se trouverahttps://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
. Il s'agit du fichier que le script tente de télécharger. Puisque l'accès à internet est impossible sur les noeuds de calcul, vous devez télécharger le fichier en utilisant un noeud de connexion. Sur un noeud de connexion:cd data # le dossier data mentionné plus haut wget https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
-
Assurez-vous d'avoir le bon fichier requirements.txt. Le fichier fourni à l'origine demande des paquets qui ne sont pas disponibles hors ligne. Il y a plusieurs façon de corriger ce problème. Pour cette fois, on a décidé de remplacer les versions dans requirements.txt par des versions disponibles hors ligne sur Hélios. Bravo et merci à l'équipe qui a fait ce travail. C'est fastidieux, alors on vous le donne ici, finalement. Il y avait aussi un souci avec les versions de
torch
ettorchvision
. Voici ce que vous devez utiliser:cycler==0.10.0 decorator==4.4.1 h5py==2.9.0 imageio==2.4.1 kiwisolver==1.1.0 matplotlib==3.1.1 networkx==2.4 numpy==1.18.1 pandas==0.25.3 Pillow==6.1.0 pyparsing==2.4.6 python-dateutil==2.8.1 pytz==2019.3 PyWavelets==1.1.1 scikit-image==0.14.2 scipy==1.4.1 six==1.13.0 torch_gpu==1.4.0 torchvision==0.5.0 tqdm==4.40.2
-
Le dossier du TP3 (originalement nommé
prog
) devra être transféré sur le noeud de calcul au début de la tâche. Je vous rappelle qu'il contient à la fois le code (src
) et les données (data
). -
Vous devriez avoir quelque chose comme ce qui suit dans votre script sbatch (
.sh
):module load python/3.7 # 3.6 fonctionne aussi virtualenv --no-download $SLURM_TMPDIR/env source $SLURM_TMPDIR/env/bin/activate pip install --no-index --no-deps -r requirements.txt
Si vous avez des questions, envoyez-les moi (Carl Lemaire). Bien que je n'aie pas conçu le TP, j'ai réussi à le lancer sur Hélios sans erreur.
Merci de votre compréhension.