Tutoriel Apprentissage machine: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(tar dataset)
(Improve bash script)
Line 36: Line 36:
#SBATCH --output=%N-%j.out
#SBATCH --output=%N-%j.out


SOURCEDIR=~/scratch/ml-test
module load python/3.6 cuda cudnn
 
SOURCEDIR=~/ml-test


module load python/3.6 cuda cudnn
# Prepare virtualenv
virtualenv --no-download $SLURM_TMPDIR/env
virtualenv --no-download $SLURM_TMPDIR/env
source $SLURM_TMPDIR/env/bin/activate
source $SLURM_TMPDIR/env/bin/activate
pip install --no-index -r $SOURCEDIR/requirements.txt
pip install --no-index -r $SOURCEDIR/requirements.txt


python $SOURCEDIR/test.py
# Prepare data
mkdir $SLURM_TMPDIR/data
tar xf ~/projects/def-xxxx/data.tar $SLURM_TMPDIR/data
 
# Start training
python $SOURCEDIR/test.py $SLURM_TMPDIR/data
}}
}}


</translate>
</translate>

Revision as of 15:42, 2 October 2019


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.




Other languages:

Archivage d'un ensemble de données

Les systèmes de fichiers gérés par Calcul Canada sont conçus pour fonctionner avec une quantité limitée de gros fichiers. Assurez-vous que l'ensemble de données dont vous aurez besoin pour votre entraînement se trouve dans un fichier archive (tel que "tar"), que vous transférerez sur votre noeud de calcul au début de votre tâche. Si vous ne le faites pas, vous risquez de causer des lectures de fichiers à haute fréquence du noeud de stockage vers votre noeud de calcul, nuisant ainsi à la performance globale du système.

En supposant que les fichiers dont vous avez besoin sont dans le dossier mydataset:

Question.png
[name@server ~] tar cf mydataset.tar mydataset/*

La commande ci-haut ne compresse pas les données. Si vous croyez que ce serait approprié, vous pouvez utiliser tar czf.

Préparation de l'environnement

  • Créez et activez un environnement virtuel de test dans votre home
  • Tentez d'exécuter votre script
  • Installez les paquets manquants s'il y a lieu
  • pip freeze > requirements.txt

Si vous avez absolument besoin de GPU pour lancer le script, effectuez les points ci-haut dans une tâche interactive.

Préparation du script de soumission

File : ml-test.sh

#!/bin/bash
#SBATCH --gres=gpu:1       # Request GPU "generic resources"
#SBATCH --cpus-per-task=6  # Cores proportional to GPUs: 6 on Cedar, 16 on Graham.
#SBATCH --mem=32000M       # Memory proportional to GPUs: 32000 Cedar, 64000 Graham.
#SBATCH --time=0-03:00
#SBATCH --output=%N-%j.out

module load python/3.6 cuda cudnn

SOURCEDIR=~/ml-test

# Prepare virtualenv
virtualenv --no-download $SLURM_TMPDIR/env
source $SLURM_TMPDIR/env/bin/activate
pip install --no-index -r $SOURCEDIR/requirements.txt

# Prepare data
mkdir $SLURM_TMPDIR/data
tar xf ~/projects/def-xxxx/data.tar $SLURM_TMPDIR/data

# Start training
python $SOURCEDIR/test.py $SLURM_TMPDIR/data