page de blog - 1/1 Blog
page de blog - 1/1#
Infinite dans une conversion de float64 en float32#
2020-10-25
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 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.
…
Gestion de la mémoire en Python#
Debugger Python#
2018-04-05
L’exécution pas à pas d’un programme
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 C++.
C’est assez rare pour les modules standard comme
pandas ou numpy mais néanmoins possible.
Il n’y a pas d’options pratique depuis 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.
C’est obligé les classes ?#
2018-03-31
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 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.
…
Inclure un partie C dans un module Python#
2017-07-01
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.
…
I hate programming sometimes#
2017-01-06
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.
…
pandas, groupby, nan values#
2016-11-20
La fonction groupby ne considère pas (plus) les valeurs manquantes ou NaN. Le notebook Pandas et groupby illustre ce fait et montre comment les corriger.
Premier blog, juste un essai#
2016-09-18
Premier blog.
page de blog - 1/1 2017-07 (1) 2018-03 (1) 2018-04 (1) 2018-10 (1) 2020-10 (1)