Optimisation de code Python avec Cython
cyt
<div class="para">Logilab développe des logiciels, et propose du conseil et des
formations de haut niveau dans les domaines de l’informatique
scientifique et du web sémantique, en utilisant des outils et méthodes
agiles. Logilab s’est spécialisée dans l’utilisation de certains
outils (tels que Python) ou techniques et propose des formations
sur ces sujets. Ceci permet de bénéficier d’une vision pragmatique
des concepts enseignés.</div><div class="para">Les formations de Logilab s’adressent aux personnes désireuses
d’accroître leur culture informatique. Elles couvrent des sujets
variés et sont systématiquement adaptées aux besoins des participantes
et participants, qu’il s’agisse de sessions intra ou
inter-entreprises.</div>
text/html
inter-entreprise, intra-entreprise
<div class="para">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.</div>
text/html
2
français, anglais
ingénieurs, chercheurs, techniciens
<div class="para">Connaissances de base en Python et application pratique du langage,
telles qu’elles sont acquises dans la formation <em>Introduction à Python</em>
[<a href="https://www.logilab.fr/formations/pyt" class="reference external">PYT</a>]. Une connaissance du langage C ne pourra pas nuire.</div>
1350
5400
text/html
[{"title": "Analyser les performances d\u2019un code Python existant", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Mesurer le temps d’exécution d’un code Python avec le module\n<code class=\"docutils literal notranslate\"><span class=\"pre\">cProfile</span></code> et découvrir des outils de visualisation graphique</div></li>\n<li><div class=\"para\">Mesurer la consommation mémoire d’un code avec la bibliothèque\n<code class=\"docutils literal notranslate\"><span class=\"pre\">memory_profiler</span></code></div></li>\n</ul>"}, {"title": "Utiliser Cython pour am\u00e9liorer les performances d\u2019un code\nPython", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Générer avec Cython des fonctions C accessibles depuis Python</div></li>\n<li><div class=\"para\">Déterminer où ajouter du typage de paramètres et de variables pour\nune optimisation poussée</div></li>\n<li><div class=\"para\">Typer des paramètres et des variables</div></li>\n<li><div class=\"para\">Accéder en Python à une bibliothèque C existante grâce à Cython</div></li>\n</ul>"}, {"title": "G\u00e9rer finement les structures compos\u00e9es pour aller plus\nloin dans l\u2019optimisation", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Gérer les chaînes de caractères et les chaînes d’octets (<code class=\"docutils literal notranslate\"><span class=\"pre\">string</span></code>\net <code class=\"docutils literal notranslate\"><span class=\"pre\">bytes</span></code>) dans Cython</div></li>\n<li><div class=\"para\">Utiliser efficacement les objets NumPy dans Cython pour les tableaux\nde nombres</div></li>\n<li><div class=\"para\">Gérer l’allocation mémoire lors de la création de tableaux</div></li>\n</ul>"}, {"title": "Appliquer l\u2019ensemble du processus d\u2019optimisation \u00e0 un\nexemple", "content": "<ul class=\"simple\">\n<li><div class=\"para\">Apprendre à utiliser tous les outils qu’offre Cython pour mettre en\nœuvre une démarche d’optimisation pas à pas d’un code Python</div></li>\n<li><div class=\"para\">Distribuer avec <code class=\"docutils literal notranslate\"><span class=\"pre\">setuptools</span></code> un module Python utilisant Cython</div></li>\n</ul>"}]
text/plain
<div class="para">Cette formation peut être adaptée afin de répondre au mieux à vos
besoins. Logilab dispose d’une large palette de modules pédagogiques
permettant de personnaliser 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. N’hésitez pas à demander conseil à notre
responsable pédagogique, <a class="reference external" href="mailto:formation%40logilab.fr">Olivier Cayrol</a>.</div>
text/html
<div class="para"><strong>Taux de satisfaction :</strong> 100 % des personnes sont satisfaites et
estiment que cette formation leur a permis d’améliorer leur compréhension
du domaine enseigné.</div><div class="para"><strong>Taux d’opérabilité :</strong> 100 % des personnes pensent appliquer certaines des
notions abordées durant cette formation dans leur travail quotidien.</div><div class="para"><strong>Taux d’atteinte des objectifs :</strong> 100 % des objectifs ont été
atteints par les personnes ayant suivi cette formation, 100 % des
personnes ayant validé tous les objectifs.</div><div class="para"><small>(données recueillies auprès des 1 personnes ayant suivi cette
formation sur la période Juillet 2021 - Décembre 2023)</small></div>
text/html
<div class="para">Une ou deux sessions en inter-entreprise sont planifiées par
semestre ; il faut prévoir en moyenne deux semaines entre la prise de
contact et l’inscription effective. Des sessions en intra-entreprise
sont organisées à la demande ; il faut prévoir en moyenne quatre
semaines minimum entre la prise de contact et le début de la session.
Notre <a class="reference external" href="mailto:formation%40logilab.fr">service dédié</a> est à votre
disposition pour démarrer le processus d’inscription ou vous apporter
des renseignements.</div>
text/html
<div class="para">Nos formations peuvent être animées selon différentes modalités afin
d’être accessibles au plus grand nombre. Vous pouvez contacter notre
référente handicap, <a class="reference external" href="mailto:formation%40logilab.fr">Charlotte Cazals</a>. Elle vous aidera en mettant en place,
si cela est possible, des protocoles et des procédures adaptées pour
que vous puissiez suivre la formation.</div>
text/html
text/html
<div class="para">La formation comporte une large part de travaux pratiques. Les
exercices sont réalisés sur la plateforme
<a class="reference external" href="https://jupyterapps.logilab.fr/">https://jupyterapps.logilab.fr/</a> accessible via un navigateur Web
récent (il n’est donc pas nécessaire d’installer Python sur les
ordinateurs des personnes participant à la formation). La plateforme
d’exercices s’appuie sur les calepins (<em>notebooks</em>) Jupyter et propose
des tests automatiques permettant de vérifier que le code écrit répond
bien aux questions posées. De nombreux exercices, classés par niveau
de difficulté, sont disponibles pour permettre à chaque stagiaire
d’adapter son parcours pédagogique en fonction de ses intérêts et de
ses difficultés.</div>
text/html
<div class="para">Les tarifs ci-dessous concernent une session de formation et sont
forfaitaires (prix pour une session complète) :</div><ul class="simple">
<li><div class="para">Inter-entreprise : <span class="inter-price training-price">1350.00</span> € HT par personne (dans un groupe
de 8 personnes maximum) ;</div></li>
<li><div class="para">Intra-entreprise : <span class="intra-base-price training-price">5400.00</span> € HT pour un groupe jusqu’à
6 personnes, <span class="intra-extra-price training-price">945.00</span> € HT par personne supplémentaire
jusqu’à atteindre un groupe de 10 personnes maximum.</div></li>
</ul><div class="para">Ces prix sont soumis aux taxes en vigueur. Des tarifs réduits peuvent
être proposés dans certains cas particuliers, n’hésitez pas à échanger avec
notre <a class="reference external" href="mailto:formation%40logilab.fr">service dédié</a>.</div><div class="para">Cette formation n’est pas éligible à un financement par le Compte
Personnel de Formation (CPF) mais peut être prise en charge par un
financement de votre Opérateur de Compétences (OPCO) sous certaines
conditions. Nous vous invitons, le cas échéant, à vous rapprocher de ce
dernier.</div>
text/html
<div class="para">La formation est découpée en séquences pédagogiques. Chacune de ces
séquences comprend une première partie de présentation des notions
faite par la formatrice ou le formateur devant l’ensemble du groupe,
puis une deuxième partie d’exercices applicatifs effectués soit
individuellement soit par petit groupe. Au cours de cette deuxième
partie, la formatrice ou le formateur est régulièrement disponible
pour aider, conseiller ou revenir sur des notions lacunaires. À
l’issue des exercices, une séance d’échanges est l’occasion de
corriger les exercices, de revenir sur les difficultés éventuelles et
de partager les bonnes pratiques.</div><div class="para">La formation est partiellement active (<em>classe inversée</em>) ; chaque
stagiaire effectue son propre parcours d’apprentissage
sous la supervision et l’accompagnement de la formatrice ou du
formateur. En particulier, le choix des exercices, s’il est guidé,
offre suffisamment de liberté pour permettre à chacune et chacun de
mettre l’accent sur les notions l’intéressant. Selon le besoin, il
pourra être indiqué quelques lectures à faire en amont afin de
préparer l’acquisition des notions.</div>
text/html
{"intro": "<div class=\"para\">Au début de la session de formation, chaque stagiaire se voit remettre\nun <em>livret d’accueil</em> (format papier ou format PDF) regroupant\nl’ensemble des informations utiles au bon déroulement de la formation.</div><div class=\"para\">Un <em>exemplaire personnel du support de cours</em> (format papier ou format\nPDF) est donné à chaque stagiaire. D’autre part, si des plates-formes\nnumériques sont utilisées pendant la formation, par exemple pour\nréaliser les exercices, chaque personne dispose d’un <em>compte\nindividuel</em> sur ces plateformes. Les plateformes sont accessibles à\ndistance sur le Web et l’accès à chaque compte individuel est maintenu\npendant 1 mois après le dernier jour de la session de formation.</div>", "rubrics": [{"title": "Formation en inter-entreprise", "content": "<div class=\"para\">La formation a lieu dans les locaux de Logilab, dans une salle équipée\nd’un dispositif de projection permettant à la formatrice ou au\nformateur de réaliser des présentations. En règle générale, surtout\npour les formations techniques, les démonstrations interactives sont\nprivilégiés. Chaque stagiaire a un ordinateur à disposition sur lequel\nelle peut réaliser les exercices, prendre des notes, ou faire des\nessais. Cet ordinateur est relié à Internet. Si elle le désire, la\npersonne peut utiliser son propre ordinateur, un accès à Internet lui\nétant alors proposé. Dans ce dernier cas, la personne est responsable\nde l’installation et la configuration de tous les outils qui\npourraient s’avérer nécessaires au suivi de la formation.</div>"}, {"title": "Formation en intra-entreprise", "content": "<div class=\"para\">L’organisme d’accueil (généralement le client) doit mettre à\ndisposition une salle équipée d’un dispositif de projection, et des\nordinateurs reliés à Internet pour les stagiaires. La liste des outils\nà installer sur ces ordinateurs sera fournie en amont de la formation,\nl’organisme d’accueil étant responsable de cette installation.</div>"}, {"title": "Formation en ligne", "content": "<div class=\"para\">Si la formation a lieu partiellement ou totalement en ligne, Logilab\nmet à disposition une plateforme de visioconférence hébergée soit sur\n<a class=\"reference external\" href=\"https://www.gather.town/\">https://www.gather.town/</a> soit sur <a class=\"reference external\" href=\"https://logilab.whereby.com/\">https://logilab.whereby.com/</a>. Cette\nplateforme permet notamment le suivi de présentations plénières, le\ntravail en petit groupe ou le travail individuel. Dans un tel cas, chaque\nstagiaire doit disposer d’un accès à Internet de bonne qualité afin de\nparticiper sereinement à la session.</div><div class=\"para\">Pour les sessions en intra-entreprise, le client peut demander à ce\nque sa propre plateforme de visioconférence soit utilisée ; des tests\nseront réalisés en amont pour vérifier que cette plateforme propose\nles services et une qualité permettant d’animer la formation.</div>"}]}
text/plain
<div class="para">Toutes les formatrices et tous les formateurs sont diplômés de
l’enseignement supérieur (niveaux 7 ou 8 du <em>Cadre Européen des
Certifications</em>), 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. Cet ancrage permet aux formations de Logilab d’être
pragmatiques et toujours actualisées.</div>
text/html
[{"title": "V\u00e9rification des pr\u00e9-requis (par des exercices)", "content": "<div class=\"para\">Lorsque les pré-requis de la formation nécessitent d’avoir acquis des\ncompétences équivalentes à celles apportées par une autre formation\nLogilab, si le ou la stagiaire n’a pas déjà suivi cette formation dans\nles 6 mois précédents, une petite série d’exercices lui est envoyée\nafin de s’assurer de son niveau de connaissances. Cette série est\ndécrite dans un document PDF et il est demandé de réaliser ces\nexercices dans l’environnement technique de son choix puis de renvoyer\nles solutions trouvées ainsi que le temps qui a été nécessaire à leur\nélaboration. Éventuellement, la formatrice ou le formateur contacte\nindividuellement les stagiaires pour s’assurer qu’ils et elles\npourront suivre sans problème la formation.</div>"}, {"title": "\u00c9valuation en d\u00e9but de session", "content": "<div class=\"para\">En début de session, un formulaire contenant une auto-évaluation sur\nles grands objectifs pédagogiques de la formation est remplie par\nchaque stagiaire. Il permet également au formateur ou à la formatrice\nd’adapter le cours au niveau des stagiaires.</div>"}, {"title": "\u00c9valuation en cours de session (par des exercices)", "content": "<div class=\"para\">Des exercices sont effectués tout au long de la formation. Ils\npermettent de solidifier l’acquisition des connaissances au fur et à\nmesure de l’avancée de la session. La formatrice ou le formateur peut,\nsi besoin, personnaliser les corrections afin de reprendre certains\npoints mal acquis.</div>"}, {"title": "\u00c9valuation en fin de session", "content": "<div class=\"para\">En fin de session de formation, chaque stagiaire remplit un\nquestionnaire de fin de formation qui mesure sa satisfaction et\nl’impact de la formation.</div><div class=\"para\">Un certificat de réalisation individuel est fourni à chaque stagiaire\naprès la formation. Ce certificat s’appuie sur la ou les évaluations\nréalisées durant la formation.</div>"}]
text/plain
rgb(255, 0, 0)
23
2021-10-14T16:41:14.777395+00:00
2024-03-15T11:18:35.071654+00:00