Ceci est une ancienne révision du document !


Formation Python

11 Juin - 15 Juin, 2012 Location: Salle de travaux pratiques (LR6 D 014), Centre Blaise Pascal, ENS de Lyon

Description et Objectifs scientifiques

L'observatoire de Lyon, la DR 7 du CNRS et la FLMSN organisent une formation Python la semaine du 11 au 15 juin dans la salle LR6 014, Centre Blaise Pascal, ENS de Lyon.
Elle débutera le lundi 11 juin à 14h et se terminera le vendredi 15 à 12h. L'idée de cette formation n'est pas de donner les bases du langage aux participants mais plutôt une idée plus claire sur la manière d'optimiser son code lorsque l'on utilise Numpy et Scipy, la manière de le distribuer et enfin comment visualiser de grosses données.

Le nombre de place est limité. Merci de vous inscrire (pour la semaine) auprès de Violaine Louvet (louvet (at)math.univ-lyon1.fr).

Participants

Programme détaillé

Konrad Hinsen

NumPy et distutils (1h)
  • tester pour la présence de NumPy lors de l'installation
  • trouver les headers pour vos modules compilés

Les tableaux NumPy vus de près

  • représentation d'un tableau dans la mémoire
  • formats “C” et “Fortran”
  • partage de l'espace données par plusieurs tableaux
TP lundi après-midi (0h30)
  • NumPy et distutils: packager un module qui utilise NumPy
  • première exploration de la structure d'un tableau

Les tableaux NumPy vus de très près (1h)

  • principes d'interfaçage avec du code en C/C++/Fortran
  • représentation au niveau C d'un tableau
  • propriété de la mémoire
  • interface “buffer”
  • tableaux structurés

Techniques d'optimisation

  • opérations “en place”
  • optimiser les accès mémoire
TP (2h)
  • exploiter la structure d'un tableau en Python
  • interface “buffer”
  • tableaux structurés
  • optimisations

Loïc Gouarin


  Introduction au packaging et aux tests 

- Cours intro (1h) - qu'est-ce qu'un package ? - présentation de distutils - écriture d'un premier setup.py - introduction aux docstring - tests unitaires

- TP (30 min) création d'un setup.py

  Scipy (1h30) 

- présentation générale - les modules existants - les scikits - optimisation

  Packaging avancé 

- Cours (1h) - présentation du distutils de numpy - création d'une distribution - utilisation de packages ou de librairies externes - un mot sur la génération de doc - présentation de nose

- TP (2h) on essaiera de recoller tous les bouts des cours précédents.

Sylvain Faure


  Utilisation de VTK (6h) (Cours + TP) 

Motivations : quand utiliser VTK plutôt que des logiciels de visualisation du type de Paraview, Visit, Ensight,… Manipulation des données : lecture des données et éventuellement création de structure de données VTK, écriture des données. Pipeline de visualisation : notions de base (filtres,…). Les objets VTK indispensables (acteurs, rendu, caméra, lumières, fenêtre,…). Exemples de scripts pour aller plus loin.

Marc Poinot


* Session Cython (6h) - Cours intro (1h) Partir de Python pur et améliorer qq boucles - Taxonomie des capsules python (10) - Intro Cython + générateurs de capsules (10) - Mise en oeuvre, plateforme d'analyse de perfs (10) - Déclarations simples de boucles (20) - Insertion dans le setup.py (10)

- TP intro (2h) - mise en oeuvre complète +numpy (seulement python pur)

- Cours avancé (1h) Connexion avec librairies externes C/C++ - Passages d'objets Python, tableau numpy, lecture/écriture (10) - Déclaration des structures et fonctions externes (20) - Production setup.py + librairies externes (10) - Allocation dynamique, comptage de références et ownership des objets (10) - Classes partagées (10)

- TP avancé (2h) - mise en oeuvre avec une librairie coûteuse - capsule d'une librairie existante

  Session Sphinx (1h) 

- TP: documenter les modules réalisés pendant la semaine

animation/tutoriels/2012/python.1359462079.txt.gz · Dernière modification: 2015/01/07 10:04 (modification externe)