Tutoriel Apprentissage machine
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.
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:
[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
#!/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