:orphan: |rss_image| **page de blog - 1/1** :ref:`Blog ` .. |rss_image| image:: feed-icon-16x16.png :target: ../_downloads/rss.xml :alt: RSS ---- .. index:: blog .. _ap-main-0: page de blog - 1/1 ++++++++++++++++++ .. blogpostagg:: :title: Infinite dans une conversion de float64 en float32 :date: 2020-10-25 :keywords: python,mémoire :categories: numpy :rawfile: 2020/2020-10-25_numpyinf.rst C'est le genre de petits détails numériques qui font qu'un calcul échoue sans qu'on se doute le plus souvent qu'une erreur s'est glissée quelque part. Le type `float32` est très utilisé dans le cas des réseaux de neurones profonds car le calcul peut alors être fait sur CPU et GPU. Dans le cas du machine learning classique, avec :epkg:`scikit-learn`, c'est le type `float64` est qui le plus souvent utilisé. Dès lors, il arrrive qu'on doivent convertir des réels d'un type à l'autre. ... .. blogpostagg:: :title: Gestion de la mémoire en Python :date: 2018-10-24 :keywords: python,mémoire :categories: mémoire :rawfile: 2018/2018-10-24_memory.rst La compréhension d'un langage compilé et bas niveau tel que le :epkg:`C` aide énormément à comprendre pour :epkg:`Python` est parfois très lent ou pourquoi il est en théorie un langage multithreadé qui ne l'est pas en apparence. La vidéo suivante explique d'autres petits recoins cachés du langage. ... .. blogpostagg:: :title: Debugger Python :date: 2018-04-05 :keywords: python,classes :categories: debug :rawfile: 2018/2018-04-05_debug.rst L'exécution pas à pas d'un programme :epkg:`Python` permet souvent de trouver facilement l'erreur caché dans un programme. Cette astuce est néanmoins compliquée à mettre en oeuvre dans deux cas. Le premier lorsque l'erreur se produit dans un module implémentée en :epkg:`C++`. C'est assez rare pour les modules standard comme :epkg:`pandas` ou :epkg:`numpy` mais néanmoins possible. Il n'y a pas d'options pratique depuis :epkg:`Python` si ce n'est Visual Studio : `Débogage conjoint de Python et de C++ `_. Le second cas difficile avec un débugger survient lorsque l'erreur se produit dans un programme après plusieurs minutes d'exécution ou à la dernière itération d'une boucle à un million de tours. Dans ces cas-là, le seul recours est souvent d'utiliser la fonction ``print`` à des endroits bien choisis. Parfois, on souhaite détecter que le même nombre d'objets à été créés puis détruits, parfois, on souhaite tomber sur la donnée qui fait exploser la mémoire. Le module `pympler `_ propose quelques outils pour ces deux méthodes de diagnostic. Quoiqu'il en soit, après une telle aventure, vous serez probablement incité à écrire des petites fonctions facilement testables séparéments plutôt que de grandes fonctions terriblement compliquées à tester. .. blogpostagg:: :title: C'est obligé les classes ? :date: 2018-03-31 :keywords: python,classes :categories: classe :rawfile: 2018/2018-03-31_classesfonctions.rst *Monsieur, c'est obligé d'utiliser les classes ?* C'est une question qu'on me pose chaque année lors des projets informatiques et je réponds chaque année que non, les classes ne sont pas obligatoires mais qu'elles ont le don de simplifier l'écriture des programmes. Le lanage :epkg:`Python` propose une des syntaxes les plus explicites par rapport à d'autres langages car il n'y a pas de paramètres cachés. Le programme suivant calcule la somme et le produit de deux entiers stockés dans un dictionnaire. ... .. blogpostagg:: :title: Inclure un partie C dans un module Python :date: 2017-07-01 :keywords: python,C :categories: module :rawfile: 2017/2017-07-01_cextension.rst Je me suis amusé à programmer un module Python qui inclut des fonctions écrites en C. J'ai ajouté un build automatique sur `travis `_ et `appveyor `_. La documentation du module `cpyquickhelper `_ et le code sur `github `_. ... .. blogpostagg:: :title: I hate programming sometimes :date: 2017-01-06 :keywords: :categories: weird :rawfile: 2017/2017-01-06_programming.rst This is the kind of example I never imagined maybe because I trust too much the code I write and I can't see it fail for something like what follows. ... .. blogpostagg:: :title: pandas, groupby, nan values :date: 2016-11-20 :keywords: :categories: pandas :rawfile: 2016/2016-11-20_groupby_nan.rst La fonction `groupby `_ ne considère pas (plus) les valeurs manquantes ou `NaN `_. Le notebook :ref:`pandasgroupbyrst` illustre ce fait et montre comment les corriger. .. blogpostagg:: :title: Premier blog, juste un essai :date: 2016-09-18 :keywords: :categories: blog :rawfile: 2016/2016-08-18_first_blog.rst Premier blog. ---- |rss_image| **page de blog - 1/1** :ref:`2017-07 (1) ` :ref:`2018-03 (1) ` :ref:`2018-04 (1) ` :ref:`2018-10 (1) ` :ref:`2020-10 (1) `