Skip to content

Instantly share code, notes, and snippets.

@lemairecarl
Last active April 9, 2020 19:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lemairecarl/1406ab0540b501c7cbe479c4bd0d16ce to your computer and use it in GitHub Desktop.
Save lemairecarl/1406ab0540b501c7cbe479c4bd0d16ce to your computer and use it in GitHub Desktop.
IFT725 - Précisions pour le TP3

IFT725 - Précisions pour le TP3

Voici quelques précisions qui vous aideront à faire le TP3 sur le serveur Hélios de Calcul Québec.

  1. 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 et torchvision. Pour contourner le problème, vous devez utiliser l'option --no-deps lorsque vous installez torchvision. Par exemple: pip install --no-index --no-deps -r requirements.txt, ou pip install --no-index --no-deps torchvision==0.5.0.

  2. Le script train.py s'attend à trouver un dossier ../data, c'est à dire un dossier data 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
    
  3. Pour utiliser CIFAR-10, assurez vous d'avoir le fichier cifar-10-python.tar.gz dans le dossier data. Si le fichier n'est pas téléchargé, vous verrez un message d'erreur, dans lequel se trouvera https://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
    
  4. 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 et torchvision. 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
    
  5. 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).

  6. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment