Aller au contenu principal
ActivePapers Stockez vos données sous forme de documents recalculables : tout résultat publié peut ainsi être relancé, vérifié et préservé.

Certains liens de ce site sont des liens d'affiliation : si vous effectuez un achat via ceux-ci, nous pouvons percevoir une commission sans frais supplémentaires pour vous. Cela n'influence jamais nos recommandations. Consultez notre divulgation d'affiliation pour plus de détails. Divulgation d'affiliation.

Stockage de données recalculables

Édition Python Édition JVM Blog … bibliothèque —> Stocker des données recalculables par Konrad Hinsen, publié le 03 janv. 2014 Une question qui me revient souvent lorsque je présente ActivePapers est la suivante : « À quoi bon stocker les résultats de calculs ?

Si vous conservez le code, il suffit de le réexécuter. Tout ce qu’il faut stocker, c’est le code et les données d’entrée. » La réponse courte est que c’est vrai en théorie, mais un peu moins dans la pratique. Pour la réponse détaillée, poursuivez votre lecture. Vous découvrirez également comment ActivePapers peut vous aider, que vous choisissiez de stocker ou non des données recalculables.

Commençons par éliminer la raison la plus évidente de stocker des données recalculables : le calcul peut être trop coûteux pour être exécuté à plusieurs reprises. Il s’agit là d’un compromis classique entre le temps de (re-)calcul et l’utilisation de l’espace de stockage sur disque. Dans de nombreux cas, un bon compromis consiste à conserver les données résultantes pendant un certain temps, afin de pouvoir effectuer une analyse rapide si une nouvelle idée surgit, sans pour autant les archiver sur le long terme.

Ensuite, voici une raison moins évidente, et qui plus est, une réalité que nous n’aimons guère nous rappeler : le calcul peut ne pas être aussi reproductible qu’il le devrait. Les programmes qui produisent des résultats légèrement différents selon la plateforme sur laquelle ils sont exécutés (système d’exploitation, version du compilateur, etc.) sont en fait assez courants. Les programmes utilisant l’arithmétique à virgule flottante tombent presque inévitablement dans cette catégorie.

La situation devient particulièrement problématique lorsque les différences entre deux exécutions du programme sont telles que les conclusions tirées des résultats changent. Oui, cela arrive.

Enfin, il existe une situation très fréquente dans laquelle le stockage des données de sortie d’un calcul n’est pas important, mais où le stockage des métadonnées associées l’est. C’est précisément dans ce cas qu’ActivePapers excelle. Cette situation se produit lorsque votre sortie recalculable constitue en réalité des données intermédiaires au sein de votre flux de travail complet. Par exemple, vous exécutez une simulation qui génère une longue trajectoire, puis vous effectuez une analyse sur cette trajectoire, à partir de laquelle vous générez un graphique.

Connexes : — Parcours de science des données basés sur des projets avec un terminal guidé et des ensembles de données réels.

Le graphique est votre résultat final, vous souhaitez donc le conserver. La trajectoire et l’analyse brute sont des résultats intermédiaires, qu’il n’est pas nécessaire de stocker sauf s’ils relèvent de l’une des deux catégories expliquées ci-dessus.

Cependant, vous souhaitez conserver la trace du fait que votre graphique a été généré à partir de votre analyse brute, elle-même issue de la trajectoire de simulation. Grâce à ces informations, vous-même, ainsi que toute personne consultant vos travaux ultérieurement, pouvez facilement vérifier que le graphique correspond bien à la dernière version de votre code de simulation et d’analyse. ActivePapers fournit des « jeux de données factices » pour gérer cette situation. Un jeu de données factice ne contient aucune donnée réelle, mais il dispose de toutes les métadonnées générées par ActivePapers lors de l’exécution des codelets.

Dans l’état actuel d’ActivePapers, la seule manière de générer un tel jeu de données factice consiste d’abord à créer un jeu de données réel, puis à exécuter tous les calclets qui l’utilisent en entrée, et enfin à remplacer le jeu de données réel par un jeu de données factice à l’aide de aptool dummy .... Le tutoriel mentionne également les jeux de données factices et montre comment recalculer les données originales. Il reste ample place pour de futures améliorations de l’interface utilisateur relative aux jeux de données factices.

Ça vaut le coup d'oeil : — Un abonnement pour les certificats Python et de science des données soutenus par l'université.

Par exemple, le calclet qui crée un jeu de données pourrait le marquer immédiatement comme factice ; il ne serait alors jamais écrit sur le fichier, mais transmis en mémoire aux calclets clients. Si vous avez des idées à ce sujet, veuillez ouvrir un ticket sur le suivi des problèmes Github . commentaires powered by Disqus


Apprenez Python en codant dans votre navigateur

Cours interactifs Python et science des données que vous codez directement dans le navigateur