IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apprendre les techniques de manipulation du format HDF5 en programmation Python,
Un tutoriel de Galode Alexandre

Le , par deusyss

49PARTAGES

12  0 
Bonjour à tous,

Je vous propose un tutoriel pour apprendre à manipuler le format HDF5 en programmation Python.


Lors de toute création de logiciel, se pose à un moment donné, la sauvegarde des données manipulées.

Dans un précédent article, je vous avais exposé un comparatif INI / JSON. Outre ce format, nous avions évoqué également le XML. Des formats différents, standards ou maisons, il en existe un nombre incalculable.

Concernant le traitement et la manipulation de données numériques massives, l'un d'entre eux se trouve être très utilisé en informatique scientifique : le format HDF5.

C'est ce format que je vous invite ici à découvrir.
Bonne lecture à tous.

Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation Python

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de mcc39
Membre régulier https://www.developpez.com
Le 25/05/2017 à 8:58
Le format HDF5 peut être utilisé par certains fabricants de microscopes et autres instruments de mesure de ce genre pour stocker les données acquises (par exemple des données hyperspectrales). Delmic a développé le logiciel Odemis qui utilise h5py : https://github.com/delmic/odemis/blo...dataio/hdf5.py.
2  0 
Avatar de kmedghaith
Membre confirmé https://www.developpez.com
Le 26/05/2017 à 11:23
Citation Envoyé par disedorgue Voir le message
Bonjour,

Si tu es sur de ton fait, je trouve dommage que que cette lib ne tienne pas ces engagements, car l'une des raisons de hdf5 est justement de retirer ces limitations présentes en hdf4...
Oui

https://support.hdfgroup.org/HDF5/faq/threadsafe.html
2  0 
Avatar de BufferBob
Expert éminent https://www.developpez.com
Le 24/05/2017 à 8:54
salut,

je me demandais, dans quelle mesure c'est utilisé ce format ? tu marques que c'est "très utilisé en informatique scientifique" mais des quelques recherches que j'ai effectué la plupart du temps les datasets sont fournis à la va-comme-jte-pousse dans un tarball ou un zip sous forme de fichier texte à parser soi-même, je veux dire est-ce qu'il s'agit d'un format "incontournable" ou qui relève des bonnes pratiques ou simplement un truc cool qui devrait théoriquement être beaucoup plus utilisé qu'il ne l'est etc. ?
1  0 
Avatar de deusyss
Expert éminent https://www.developpez.com
Le 24/05/2017 à 9:35
Très bonne question.

Il s'agit de la dernière solution, a savoir quelque chose de très pratique qui devrait être bien plus utilisé dès qu'on manipule et qu'on désire stocker des données numériques en masse. Ceci dit, mon expérience professionnelle m'a effectivement démontré une méconnaissance de ce format. On n'utilise pas ce qu'on ignore exister
1  0 
Avatar de wiztricks
Expert éminent sénior https://www.developpez.com
Le 24/05/2017 à 12:49
Citation Envoyé par BufferBob Voir le message
Je veux dire est-ce qu'il s'agit d'un format "incontournable" ou qui relève des bonnes pratiques ou simplement un truc cool qui devrait théoriquement être beaucoup plus utilisé qu'il ne l'est etc. ?
La structure hiérarchique d'un système de fichiers standard est appropriée pour la plupart des applications.... Et ce qu'on fait avec HDF5 peut être fait avec un système de fichiers standard.
Là ou HDF5 devient intéressant, c'est lorsqu'on travaille sur de grandes quantités de données éparpillées dans de multiples "fichiers" du côté des performances, de la portabilité et des facilités d'utilisation depuis différents outils.

Mais c'est bien de savoir que çà existe même si les applications qui devraient/pourraient en profiter sont en nombre réduit.

- W
1  0 
Avatar de kmedghaith
Membre confirmé https://www.developpez.com
Le 25/05/2017 à 13:33
Salut,

Il faudrait peut être préciser que la librairie C h5 n'est pas ré-entrante (même pour un accès en lecture à des fichiers différents...), et que le seul moyen de l'utiliser en multi thread c'est de la compiler en mode thread safe ce qui ne fait qu'utiliser un gros lock global qui pourrit bien évidemment les performances.
Pour ma part, je l'utilise au boulot car, comme indiqué plus haut, c'est assez rependu dans l'informatique scientifique à cause de bonne performances en mode écriture . Ceci dit, et à mon avis, c'est à éviter pour toute autres applications.

MG
1  0 
Avatar de disedorgue
Expert éminent sénior https://www.developpez.com
Le 26/05/2017 à 10:23
Bonjour,
Citation Envoyé par kmedghaith Voir le message
Salut,

Il faudrait peut être préciser que la librairie C h5 n'est pas ré-entrante (même pour un accès en lecture à des fichiers différents...), et que le seul moyen de l'utiliser en multi thread c'est de la compiler en mode thread safe ce qui ne fait qu'utiliser un gros lock global qui pourrit bien évidemment les performances.
Pour ma part, je l'utilise au boulot car, comme indiqué plus haut, c'est assez rependu dans l'informatique scientifique à cause de bonne performances en mode écriture . Ceci dit, et à mon avis, c'est à éviter pour toute autres applications.

MG
Si tu es sur de ton fait, je trouve dommage que que cette lib ne tienne pas ces engagements, car l'une des raisons de hdf5 est justement de retirer ces limitations présentes en hdf4...
1  0 
Avatar de bistouille
Membre confirmé https://www.developpez.com
Le 25/05/2017 à 12:37
Question sans doute idiote, mais mise à part la portabilité (et encore), quels sont les avantages par rapport à un sgbdr ? Et les inconvénients.
Si tant soit peu que les deux soient comparables.

Comme ça, je dirais une manipulation plus facile, le langage sql étant très complexe, mais pas sûr.

En fait toutes les manipulations que tu montres ressemblent un peu à ce qu'on peut faire avec un sgdbr robuste, enfin, si j'ai bien saisi.
1  1