Objectives
Python est un langage puissant, orienté objet, convenant parfaitement
à la majorité des travaux de développement d’applications et
d’interfaces graphiques. Outre sa lisibilité et la simplicité de sa
syntaxe, un des grands avantages de Python est de s’appuyer sur une
bibliothèque standard extrêmement fournie et des bibliothèques annexes
nombreuses et variées. Ainsi, Python est aujourd’hui un des langages
de prédilection dans de nombreux domaines exigeants : interfaces
utilisateur, calcul scientifique, analyse de données, apprentissage
automatique, intelligence artificielle, bioinformatique, etc.
Cette formation d’une durée de deux jours permet d’apprendre comment
identifier quelles parties d’un programme Python consomment trop de
mémoire ou trop de temps processeur, puis comment on peut utiliser
Cython pour reprendre ces parties et ainsi optimiser son
programme. Diverses notions spécifiques sont également abordées comme
l’accès à des fonctions existantes en C ou C++, ou bien l’accès à des
objets NumPy.
Audience
ingénieurs, chercheurs, techniciens
Prerequisites
Connaissances de base en Python et application pratique du langage,
telles qu’elles sont acquises dans la formation Introduction à
Python [PYT]. Une connaissance du langage C ne pourra pas
nuire.
program
- Mesure du temps d’exécution d’un code Python avec le module
cProfile
. Outils de visualisation graphique - Mesure de la consommation mémoire avec la bibliothèque
memory_profiler
- Génération avec Cython de fonctions C accessibles depuis Python
- Déclaration de types Cython pour une optimisation poussée
- Accès en Python à une bibliothèque C existante grâce à Cython
- Gestion dans Cython des chaînes de caractères et des chaînes d’octets (
string
etbytes
) - Utilisation efficace des objets NumPy dans Cython ; utilisation de tableaux de nombres de taille fixe
- Utilisation de Cython avec du code C++
- Démarche d’optimisation d’un code Python ordinaire en utilisant tous les outils qu’offre Cython
Customization
Cette formation peut être adaptée afin de répondre au mieux à vos
besoins. Logilab dispose aujourd’hui d’une palette très large de
modules pédagogiques permettant la personnalisation de ses formations.
L’adaptation des cours en intra-entreprise ne pose aucun problème ;
cette opération est cependant plus difficile pour les cours en
inter-entreprises regroupant des participants provenant de divers
organismes. N’hésitez pas à demander conseil à notre service dédié.
Terms
Langues
français, anglais
Pédagogie
La formation est partiellement active (classe inversée) ; chacun des
participants effectue son propre parcours d’apprentissage sous la
supervision et l’accompagnement du formateur. Chaque partie de la
formation comprend généralement une première partie de présentation
des notions faite par le formateur devant l’ensemble du groupe, puis
une deuxième partie d’exercices applicatifs effectués individuellement
par chaque participant. Au cours de cette deuxième partie, le
formateur est régulièrement disponible pour aider, conseiller ou
revenir sur des notions lacunaires. Il pourra être indiqué aux
stagiaires quelques lectures à faire avant chaque première partie afin
de préparer l’acquisition des notions.
Travaux pratiques
La formation comporte une large part de travaux pratiques permettant
de mettre en œuvre immédiatement les concepts ayant été vus dans le
cadre du cours. Les exercices sont réalisés sur une plateforme
accessible via un navigateur Web récent. Ainsi, il n’est pas
nécessaire d’installer Python et ses bibliothèques sur les postes des
participants à la formation ; un accès à Internet est toutefois
indispensable.
La plateforme d’exercices s’appuie sur les calepins (notebooks)
Jupyter. Chaque exercice est décrit dans un calepin qui comprend
l’énoncé, des tests automatiques permettant de vérifier que le code
écrit répond bien au problème posé, et la possibilité d’afficher la
solution.
Validation des acquis
Des travaux pratiques et des tests sont effectués tout au long de la
formation. En fin de session, un contrôle permet de vérifier que les
objectifs pédagogiques ont été atteints et que les nouvelles
connaissances ont bien été acquises. Une attestation individuelle de
formation est établie.
Lieu d'intervention
Cette formation peut être réalisée :
- sur site, dans les locaux du client, pour un groupe de participants,
- dans les locaux de Logilab à Paris ou à Toulouse,
- en ligne en s’appuyant sur la plateforme d’exercices accessible via le navigateur et sur une solution de visioconférence également accessible via le navigateur.
Lorsque la formation a lieu en ligne, il est nécessaire que les
participants disposent d’une connexion à Internet de bonne qualité.
Conditions d'accueil
Chaque participant dispose d’un compte individuel sur les outils
numériques utilisés pour la formation et d’un exemplaire personnel du
support de cours (format papier ou format PDF). Le participant
continue à avoir accès à son compte indivduel pendant 2 mois après le
dernier jour de formation.
Afin d’assurer un meilleur suivi des participants, l’effectif de la
formation est limité à dix (10) personnes.
Formateurs
Tous les formateurs sont diplômés de l’enseignement supérieur (niveaux
M ou D du processus de Bologne), et travaillent dans les équipes de
R&D de Logilab où ils développent du logiciel et pratiquent au
quotidien les techniques qu’ils enseignent.